validate.js对invalid的不同函数

时间:2016-12-21 12:01:41

标签: javascript jquery-form-validator

我正在使用validation.js插件,在我想要的情况下,我试图对它进行一些更改,但经过大量的思考和测试和搜索,我什么都没有,至少没有我想要的东西.. 。 我有这段代码:

$("#form").validate({
    rules: 
    {
        phone: 
        {
            required: true,
            number: true,
            minlength: 6
        }
    },
    messages:
    {
        phone: 
        {
            required: 'This field is required',
            number: 'Invalid phone number',
            minlength: 'Minimum length: 6'
        }
    }
});

每件事情都没问题,但是我希望它除了显示按摩之外还运行一些不同的功能,例如当用户键入小于6个字符时,显示按摩和运行功能ONE,如果用户键入某个,除了nums它显示按摩和运行功能二

像这样:

    $("#form").validate({
        rules: 
        {
            phone: 
            {
                required: true,
                number: true,
                minlength: 6
            }
        },
        messages:
        {
            phone: 
            {
                required: 'This field is required',
                number: 'Invalid phone number' + function TWO,
                minlength: 'Minimum length: 6' + function ONE
            }
        }
    });

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用回调function代替string作为自定义消息的值。只需确保从该函数返回消息。这样,您可以在输出消息之前执行任何操作。回调function有两个参数,第一个是传递给规则的值,第二个是元素。

  

messages

     

...每条消息都可以是String或Callback。回调在验证器的范围内调用,规则的参数作为第一个参数,元素作为第二个参数,并且必须返回一个String以显示为消息。

messages:
{
  phone: 
  {
    required: 'This field is required',
    number: function(rule, elem) {
      doSomeStuff('run before number message');
      return 'Invalid phone number';
    },
    minlength: function(rule, elem) {
      doSomeStuff('run before minlength message');
      return 'Minimum length: 6';
    }
  }
}

点击-- JSFiddle Example --此处。