Я испробовал каждое решение из статей один , два , три , но в моем примере проекта я все еще могу ввести числоили spec char в поле имени.
Шесть + вещей, которые я пробовал:
$.validator.setDefaults({ submitHandler: function(form) { form.submit(); } });
jQuery.validator.addMethod("regex", function(value, element, param) { return value.match(new RegExp("^" + param + "$")); });
var ALPHA_REGEX = "[a-zA-Z]*";
jQuery.validator.addMethod("accept", function(value, element, param) {
return value.match(new RegExp("." + param + "$"));
});
function isValid(value)
{
var fieldNum = /^[a-z]+$/i;
if ((value.match(fieldNum))) {
return true;
}
else
{
return false;
}
}
$(document).ready(function() {
$('#contact_form').bootstrapValidator({
fields: {
first_name:
{
validators: {
field: { accept: "[a-zA-Z]+" },
regex: ALPHA_REGEX,
lettersonly:true,
required: true,
pattern: "^[a-zA-Z_]*$",
stringLength: {
min: 2,
},
notEmpty: {
message: 'Please supply your first name',
callback: function(value, validator, $field) {
if (!isValid(value)) {
return {
valid: false,
};
}
else
{
return {
valid: true,
};
}
}
},
Я уверен, что упускаю что-то простое или, возможно, использую слегка устаревшую библиотеку jQuery?РЕДАКТИРОВАТЬ: Я на самом деле просто пытался использовать другие версии библиотеки безуспешно.