我尝试了文章one,two和three中的所有解决方案,但是在我的sample project中,我仍然可以在名字字段中输入数字或规格字符。
我尝试过的六件事:
$.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库?编辑:我实际上只是尝试使用该库的其他版本而没有成功。
答案 0 :(得分:0)
我建议您在某些“ Regex Matcher”上尝试您的REGEX,只需在Google上进行搜索即可。
使用正确的REGEX后,请确保将其传递给函数,而不要传递给其他函数...
这就是解决方案。
祝你好运!