我希望根据以下条件为单个字段添加不同的错误消息。
jQuery(document).ready(function () {
//...
..//
$("#aID").validate({
rules: {
reason: "required",
aic: "required"
aAmt:{
required: function (element) {
var err;
var new_balance = Math.round(100*beg_balance)/100 - Math.abs(Math.round(100*adjustAmount)/100);
if ((parseInt(aAmount) >= parseInt(a_limit_amount))) {
err = "123";
return true;
}
else if (new_balance)
{
err = "321";
return true;
}
return false;
}
}
}
},
messages: {
reason:"Please select a reason code.",
aic: "Please select a credit AIC.",
pwdOverride: err
},
});
有如下选项
messages: {
RoutingNumber: {
required:"Message1",
digits: "Message2",
rangelength: "Message 3"
}
}
但我的插件没有任何构建验证方法。 有关如何实现它的任何帮助吗?
我对内置验证的意思是,如果您看到aAmt
:rules
的其他循环,则它不适合jQuery Validate的内置验证,例如:List of built in validation methods < / p>
答案 0 :(得分:5)
您在此处有一些严重的语法问题,如下面的评论中所示。
$("#aID").validate({
rules: {
reason: "required",
aic: "required" // <- MISSING a comma here
aAmt: {
required: function(element) {
var err;
var new_balance = Math.round(100 * beg_balance) / 100 - Math.abs(Math.round(100 * adjustAmount) / 100);
if ((parseInt(aAmount) >= parseInt(a_limit_amount))) {
err = "123";
return true;
} else if (new_balance) {
err = "321";
return true;
}
return false;
} // <- REMOVE extra brace
}
}
},
messages: {
reason: "Please select a reason code.",
aic: "Please select a credit AIC.",
pwdOverride: err // <- no such field defined in 'rules'
}
});
您在aic
规则之后错过了一个逗号。
在条件函数中有一个额外的括号。
在messages
中,您指的是名为pwdOverride
的字段,但rules
中没有定义此类字段。如何在没有验证规则的字段上定义验证错误消息?
自定义消息的条件函数应包含在messages
对象中,而不是rules
对象中。 rules
用于定义规则,messages
用于定义消息。
<强>更新强>:
$("#aID").validate({
rules: {
reason: "required",
aic: "required",
aAmt: "required"
},
messages: {
reason: "Please select a reason code.",
aic: "Please select a credit AIC.",
aAmt: {
required: function(element) {
var err = "this field is required"; // default message
var new_balance = Math.round(100 * beg_balance) / 100 - Math.abs(Math.round(100 * adjustAmount) / 100);
if ((parseInt(aAmount) >= parseInt(a_limit_amount))) {
err = "123";
} else if (new_balance) {
err = "321";
}
return err; // <- display the custom message
}
}
}
});
由于您尚未向我们展示表单的HTML标记,因此我只能提供一个通用的概念验证示例:jsfiddle.net/3of700am/
备注强>: