这里我使用 jquery validate 插件。在我的表单中有一个下拉选择和一个输入文本框。当我选择下拉值 0 时,文本框应该接受大于 0 否则必须通过错误。如果我选择下拉值 1 或 2 那么文本框应该只接受 0,不超过 0,必须通过错误。这是我的要求。请帮助解决这个问题。
参考:http: //jsfiddle.net/ssthil/vqnpy/11/
这里我使用 jquery validate 插件。在我的表单中有一个下拉选择和一个输入文本框。当我选择下拉值 0 时,文本框应该接受大于 0 否则必须通过错误。如果我选择下拉值 1 或 2 那么文本框应该只接受 0,不超过 0,必须通过错误。这是我的要求。请帮助解决这个问题。
参考:http: //jsfiddle.net/ssthil/vqnpy/11/
您必须为文本框添加自定义验证规则。它检查复选框值和下拉值。
在您的表单验证中
textbox: {
required: true,
custom_rule : true
}
然后
$.validator.addMethod("custom_rule", function(value, element) {
var dropdown_val = $("#dropdown").val();
if((dropdown_val==0 && value>0) || (dropdown_val==1 || dropdown_val==2 ) && value==0))
{
return true;
}
else
{
return false;
}
}, "if drop down 0 , input should greater than 0 , else input should be 0");
以防万一其他人被丢到这个帖子上。kanishka 的帖子也解决了我的问题,但我也需要根据值的自定义消息。所以需要做的是以下几点:
在表单验证中:
rules: {
textbox: {
required: true,
custom_rule : true
}
}, messages {
textbox: {
required: mymessageprocessor //this is a function that returns custom messages
}
然后在最后添加这个javascript:
$.validator.addMethod("custom_rule", function(value, element) {
var dropdown_val = $("#dropdown").val();
if((dropdown_val==0 && value>0) || (dropdown_val==1 || dropdown_val==2 ) && value==0))
{
return true;
}
else
{
return false;
}
}, "");
function mymessageprocessor() {
var dropdown_val = $("#dropdown").val();
if (dropdown_val == 0) {
return "value is zero";
} else {
return "value is greater than zero";
}