7

我有一个基于定义所有允许的字符类的输入掩码的简单检查方法:

<input type="text" required inputmask="254" name="test"/>

我编写了一个函数,根据输入掩码检查输入值字符,它工作正常。

现在,我想给用户一个反馈,因此我定义了我的信息:

$.validator.messages.inputmask = $.validator.format("no, no: input mask is {0}");

但我更希望有一个函数,根据掩码构建接受字符的列表并将其用于反馈,即我想“操纵”参数:

$.validator.messages.inputmask = myFunc("hey dude, you are just allowed to use {0}", getChars(dont_know_which_param_to_reference_here);

这是我的 JSFiddle: 输入掩码验证 (所有类,但接受大写字母)

如您所见,该参数可以很好地检查掩码,但不能用作用户反馈。

有什么办法吗?有什么想法吗?

非常感谢!

4

2 回答 2

14

引用操作:

“我想‘操纵’参数”

没有办法专门动态地更改错误消息。但是,有一种解决方法。

通过使用方法.rules('add')您可以用新消息动态覆盖您的消息。

// dynamically change message for required rule on input with name="field"
$('input[name="field"]').rules('add', {
    messages: {
        required: "new message for field 1"
    }
});

演示:http: //jsfiddle.net/F5RUG/

演示适用于页面加载,但是,您可以随时调用.rules('add')。如果您需要一次调用.rules()多个字段,则必须将其包含在 jQuery.each()中。

演示 2:http: //jsfiddle.net/F5RUG/1/

于 2013-09-03T15:14:37.697 回答
3

您可以定义您的消息值,例如每次调用验证函数时都会更新函数和值。

同样,您可以为验证规则定义动态值。

var min_items_qt = 0

// Here we dynamically change value of `min_items_qt`

$("#yourForm").validate({
  rules: {
    items_qt: {
      min: function(){ return min_items_qt; }
    }
  },
  messages: {
    items_qt: {
      min: function(){ return "Min items qt. is: " + min_items_qt}
    }
  }
});
于 2016-01-10T11:31:30.923 回答