jQuery验证插件 - 如何不显示“此字段是必需的”标签

时间:2012-06-05 20:58:10

标签: jquery jquery-validate

如何为所有输入文本框关闭“需要此字段”的显示?我宁愿不必做这样的事情:

$("myForm").validate({
  messages: { myField1: { required: '' }, myField2: { required: '' }, myField3: { required: '' }}
});

5 个答案:

答案 0 :(得分:8)

您只需将默认的必需消息设置为空字符串。

$.validator.messages.required = '';

答案 1 :(得分:3)

有各种各样的方法:

  • 使用errorPlacement回调来覆盖默认情况下使用您自己的函数插入错误标签
  • 使用errorLabelContainer选项将错误元素全部放在一个容器中并隐藏容器
  • 将验证器默认消息设置为空字符串 - 请参阅docs setDefaults
  • 使用css隐藏label.error

答案 2 :(得分:0)

您可以为每个项目分配一个类,然后遍历该类并交叉检查其类型作为输入

$(".frmPrc").each(function(index) {
                    if ($(this).attr("type")=="checkbox") {
                        if ($(this).is(":checked")) {
                            arrFrmData.push({ "ID":index, "Field":$(this).attr("id"), "Value":1, "Title":$(this).attr("title")});
                        } else {
                            arrFrmData.push({ "ID":index, "Field":$(this).attr("id"), "Value":0, "Title":$(this).attr("title")});
                        }
                    } else if ($(this).attr("type")=="radio") {
                        if ($(this).is(":checked")) {
                            arrFrmData.push({ "ID":index, "Field":$(this).attr("name"), "Value":$(this).val(), "Title":$(this).attr("title")});
                        }
                    } else {
                        arrFrmData.push({ "ID":index, "Field":$(this).attr("id"), "Value":$(this).val(), "Title":$(this).attr("title")});
                    }
                });

这只是一个旧脚本的快速复制和粘贴......正如您所看到的,它可以缩短...但是给出了使用“必需”字段的基本想法......

答案 3 :(得分:0)

我曾经在所有输入元素中添加一个类,而不是使用Validate Plugins来验证:

<input type="text" class=toValidate/>

...

   function validateForm(){
        $(".toValidate").each(function (){
          if($(this).val()==""){
            do something
}
        })
    }

答案 4 :(得分:-1)

只有这样做才能解决你的问题!

var validator = $("#MyForm").validate({errorPlacement: function() {
    return true;
}});