4

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

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

5 回答 5

9

您可以简单地将默认所需消息设置为空字符串。

$.validator.messages.required = '';
于 2012-06-05T21:26:51.957 回答
3

有多种方式:

  • 使用 errorPlacement 回调使用您自己的函数覆盖错误标签的默认插入
  • 使用 errorLabelContainer 选项将错误元素全部放在一个容器中并隐藏容器
  • 将验证器默认消息设置为空字符串 - 请参阅文档 setDefaults
  • 使用 css 隐藏 label.error
于 2012-06-05T21:16:50.083 回答
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")});
                    }
                });

这只是从旧脚本中快速复制和粘贴...如您所见,它可以缩短...但给出了使用“必填”字段的基本概念...

于 2012-06-05T21:08:37.623 回答
0

我曾经向所有输入元素添加一个类,而不是使用验证插件来验证:

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

……

   function validateForm(){
        $(".toValidate").each(function (){
          if($(this).val()==""){
            do something
}
        })
    }
于 2012-06-05T21:21:54.770 回答
-1

只有这样做,你的问题才会得到解决!

var validator = $("#MyForm").validate({errorPlacement: function() {
    return true;
}});
于 2015-01-06T19:50:10.627 回答