JNP*_*NPW 0 javascript jquery jquery-validate
我想根据下面的条件为单个字段提供不同的错误消息.
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
},
});
Run Code Online (Sandbox Code Playgroud)
有一个如下选项
messages: {
RoutingNumber: {
required:"Message1",
digits: "Message2",
rangelength: "Message 3"
}
}
Run Code Online (Sandbox Code Playgroud)
但我的插件没有任何构建验证方法.有关如何实现它的任何帮助?
我对内置验证的意思是,如果你看到我的else循环aAmt:rules它不适合jQuery Validate的内置验证,例如: 内置验证方法列表
您在此处有一些严重的语法问题,如下面的评论中所示.
$("#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'
}
});
Run Code Online (Sandbox Code Playgroud)
您在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
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
由于您没有向我们展示表单的HTML标记,因此我只能提供一个通用的概念验证示例: jsfiddle.net/3of700am/
注意:
| 归档时间: |
|
| 查看次数: |
1261 次 |
| 最近记录: |