0

我正在使用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
            }
        }
    });

谁能帮帮我?

4

1 回答 1

0

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

消息

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

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 示例 --这里。

于 2016-12-21T12:15:35.743 回答