仅使用Jquery验证的字母

时间:2019-01-26 20:03:07

标签: jquery validation

我尝试了文章onetwothree中的所有解决方案,但是在我的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库?编辑:我实际上只是尝试使用该库的其他版本而没有成功。

1 个答案:

答案 0 :(得分:0)

我建议您在某些“ Regex Matcher”上尝试您的REGEX,只需在Google上进行搜索即可。

使用正确的REGEX后,请确保将其传递给函数,而不要传递给其他函数...

这就是解决方案。

祝你好运!