尝试使用jquery验证以使用jqtransform。我看到了问题 似乎是隐藏的选择框。它不会将错误类添加到此元素 所以它不会继续添加错误消息!如果我制作jqTransformHidden类 显示:块;它可以工作但是我的所有输入和选择都是可见的,当然我不想这样做。
如您所见,未添加任何错误类。
<select class="required jqTransformHidden" name="currency">
<option value="">Choose Currency</option>
<option value="29">ANG - Netherlands Antilles, Guilders</option>
</select>
答案 0 :(得分:2)
我有完全相同的问题,这就是我解决它的方法 我使用jquery验证除了选择框以外的所有内容。一旦jquery validate认为我的表单有效,我就为选择框设置了另一个自定义验证。 您可以在selectHandler中检查它。
submitHandler: function(form){
if(validateSelect()){
form.submit();
}
},
然后您可以创建一个validateSelect函数来检查您的选择框。您可以使用jquery .val()
。
validateSelect = function(){
if($('#my-select').val()==""){
return false;
}else{
return true;
}
}
更新:我找到了一个更简单的解决方案!您可以强制jQuery Validate通过在第218行的验证脚本中将ignore: ":hidden",
转换为ingnore: "",
来检查隐藏字段。这样,每个转换后的字段仍将被验证。您也可以在自定义脚本而不是插件脚本中设置此更改,但我不知道该怎么做。
答案 1 :(得分:0)
我知道这是一个古老的问题,但对于所有正在努力解决这个问题的人来说,这是我的解决方案:
在我的情况下,似乎使用ignore: ""
没有选择输入的技巧。我没有使用CSS display: none
隐藏隐藏字段,而是使用了position: absolute; top: -9999px; left: -9999px;
最简单的方法是编辑jqTransform.css文件,如下所示:
.jqTransformHidden {
//display: none;
position: absolute;
top: -9999px;
left: -9999px;
}