[英]jQuery Validation. Applying javascript logic (OR) to a custom rule
我為jQuery驗證編寫了以下簡單規則:
jQuery.validator.addMethod("notEqual", function(value, element, param)
{
return this.optional(element) || value != param;
}, "This field is required");
這樣工作,我可以說:
$("#form").validate({
rules:
{
field1: {notEqual: "Please Select", required: true},
field2: {notEqual: "Year", required: true}
},
messages:
{
field1: {
notEqual: "This field is required",
required: "This field is required"
}
field2: {
notEqual: "This field is required",
required: "This field is required"
}
},
submitHandler: function(form) {
form.submit();
}
});
但是我想能夠說,不允許任何一個字段等於多個事物,例如
field1: {notEqual: "Please Select" || "Year" || "Some Value", required: true},
但是我嘗試了這種語法以及其他一些安排“ÖR”運算符的方法,但它們都不起作用。 有人可以幫忙嗎? 謝謝。
您可以將JavaScript數組作為參數傳遞給驗證方法,如jQuery Validation插件自定義方法的答案所述。 多個參數
例如
field1: {notEqual: ["Please Select", "Year", "Some Value"], required: true},
然后讓您的自定義方法是這樣的
jQuery.validator.addMethod("notEqual", function(value, element, param)
{
var result = value != param[0] && value != param[1] && value != param[2];
return this.optional(element) || result;
}, "This field is required");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.