【问题标题】:In jquery validation for textbox value 0 or greater than 0 based on dropdown value在基于下拉值的文本框值 0 或大于 0 的 jquery 验证中
【发布时间】:2012-08-11 06:50:43
【问题描述】:

这里我使用的是 jquery validate 插件。在我的表单中有一个下拉选择和一个输入文本框。当我选择下拉值 0 时,文本框应该接受大于 0 否则必须通过错误。如果我选择下拉值 1 或 2 那么文本框应该只接受 0,不超过 0,必须通过错误。这是我的要求。请帮忙。

参考:http://jsfiddle.net/ssthil/vqnpy/11/

【问题讨论】:

  • 那么您尝试了什么?我可以在你分享的那个 jsfiddle 中找到任何 js 脚本。

标签: jquery validation plugins


【解决方案1】:

您必须为文本框添加自定义验证规则。它检查复选框值和下拉值。

在您的表单验证中

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");

【讨论】:

  • 这段代码对我来说几乎没问题。问题是我需要根据值显示这些错误消息。你能帮助我吗?感谢您的支持
【解决方案2】:

以防万一其他人被丢到这篇文章上。 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";
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多