【问题标题】:jquery form validate equaljquery表单验证相等
【发布时间】:2014-05-30 03:42:40
【问题描述】:

你好,我的 jquery 中有案例,例如:

我有下拉列表和文本字段形式:

<select id="id_level"  name="id_level">
<option value=""  > -choose-</option>
<option value="1"  > -Administrator-</option>
<option value="2"  > -Kondektur Bus-</option>
<option value="3"  > -Staf Operasi-</option>
</select>

<input name="job" type="text" id="job"/>

我想验证下拉列表: 必选:“必须选择” 并且等于

var text_id_level = $("#id_level option:selected" ).text();
    var val_job= $("job").val();

    if(text_id_level !=""){

            if(text_id_level =="Administrator" && (val_job!="Kondektur Bus" || val_job!="Staf Operasi"))
            {
                // equal = true
            }

            else if(text_id_level == val_job) 
            {
                // equal = true
            }

            else
            {
                // equal = false , message : not equal
            }

    }

    else
    {
        // equal = false, message : must choose
    }

如何在 jquery validate 插件中格式化上面的代码? 像

这样的格式
jQuery.validator.addMethod("notEqual", function(value, element, param) {
  return this.optional(element) || value != param;
}, "Please specify a different (non-default) value");

从这里>>How to add a Not Equal To rule in jQuery.validation

这是我的 jquery 验证方法

$("#Form").validate({
        rules: {
            id_level:"required",
                        job:"required",

        },
        messages: {
            id_level:"choose one",
                        job:"must fill"
        }
    });

我不知道我的情况如何等于metode,对不起我的英语

【问题讨论】:

  • 从阅读documentationtag wiki 开始。然后诚实地尝试解决自己的问题;不要只期望我们为您做这件事。
  • 我已经阅读并且我得到了堆栈...所以我在这里问...谢谢
  • 如果这是真的,那么请告诉我们你在哪里以及如何被困住。到目前为止你到底做了什么?你在哪里给.validate()打电话?您尝试了哪些选项?您收到了哪些错误消息?换句话说,你需要问一个非常具体的问题……而不仅仅是“我被卡住了,请为我完成所有工作。”
  • 对不起,这是错误,你不能再看一遍吗?
  • 再次,.validate() 方法的调用在哪里?没有它,插件不会在表单上初始化。

标签: jquery jquery-validate


【解决方案1】:

这将使您大致了解应该如何声明多个规则。我无法进一步理解您的问题,因此您需要相应地进行调整。

$("#Form").validate({
    rules: {
        id_level: "required",     // <- shortcut for one rule
        job: {                    // <- more than one rule on this field
            required: true,  
            notEqual: '#id_level' // <- set your custom rule parameter to id="id_level"
        }
    },
    messages: {
        id_level: "choose one",
        job: {
            required: "must fill" // <- need to specify which rule here
        }
    }
});

您还需要稍微调整您的自定义方法,以便您可以使用param 获取您传入的字段的value

jQuery.validator.addMethod("notEqual", function (value, element, param) {
    return this.optional(element) || value != $(param).val();
}, "Please specify a different value");

演示:http://jsfiddle.net/Ztjz4/

【讨论】:

    猜你喜欢
    • 2011-07-12
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多