我搜索了一种方法来禁用显示在无效表单元素旁边的错误消息,并且我只找到了自定义消息的方法,而不是完全阻止它们。使用JQuery验证器扩展时禁用错误消息
我想:
jQuery.extend(jQuery.validator.messages, {
required: ""
}
但仍然放置一个空格我旁边的文本框,并抛出了定位。任何人都知道我可以做到这一点的方式?
我搜索了一种方法来禁用显示在无效表单元素旁边的错误消息,并且我只找到了自定义消息的方法,而不是完全阻止它们。使用JQuery验证器扩展时禁用错误消息
我想:
jQuery.extend(jQuery.validator.messages, {
required: ""
}
但仍然放置一个空格我旁边的文本框,并抛出了定位。任何人都知道我可以做到这一点的方式?
你可以使用CSS来隐藏他们
label.error { display:none; }
这不是一个完美的解决方案,但它会工作
$('#submit').click(function(){
$("#contactform").validate({
errorPlacement: function(error, element) { },
debug:true
})
});
离开errorPlacement
线空白的伎俩。
+1 - 更换具有空白函数的验证方法比隐藏生成的错误标签要好得多 – 2013-01-17 20:06:21
这是正确的方法,并且不会像响应sim一样建议'errorPlacement'关于这里的问题。 – Mandible79 2014-10-07 11:33:34
我创建了一个覆盖现有的“必需”验证器,不返回任何错误消息。
过乘坐所需的方法:
// Creates the NEW validator method
jQuery.validator.addMethod('requiredNoMsg', jQuery.validator.methods.required, '');
// Creates a new CSS Rule for the validator method
// so we can add it like "class='requriedNoMsg'".
jQuery.validator.addClassRules('requiredNoMsg', { requiredNoMsg: true });
完整的例子:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Demo</title>
<!-- jQuery 1.6.1 -->
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js" charset="utf-8"></script>
<!-- jQuery Validate 1.8.1 -->
<script type="text/javascript" src="https://github.com/jzaefferer/jquery-validation/raw/master/jquery.validate.js" charset="utf-8"></script>
<script type="text/javascript" src="https://github.com/jzaefferer/jquery-validation/raw/master/additional-methods.min.js" charset="utf-8"></script>
<style type="text/css">
body { margin: 0; padding: 0; font-family: Verdana, Tahoma, Arial, sans-serif; }
fieldset.main { margin: 1em; padding: 1em; width: 400px; font-size: .9em; }
fieldset.main ol { padding: 1em 1em 0 1em; list-style: none; }
fieldset.main li { padding-bottom: .5em; }
fieldset.main ol li label { display: block; width: 12em; margin-right: 1em; }
input[type=button] { width: 6em; height: 2.5em; }
input[type=checkbox] { }
input[type=text].error { border: 1px dotted red; background-color: yellow;}
</style>
<script type="text/javascript">
jQuery.validator.addMethod('requiredNoMsg', jQuery.validator.methods.required, '');
jQuery.validator.addClassRules('requiredNoMsg', { requiredNoMsg: true });
$(document).ready(function() {
$('#myform').validate(
{submitHandler: function() { alert('Validation Passed!'); }}
);
});
</script>
</head>
<body>
<form id="myform" method="get" action="">
<fieldset class="main">
<ol>
<li>
<label for="CustomerCode" class="left">
Customer Code</label>
<input type="text" id="CustomerCode" name="CustomerCode" class="requiredNoMsg" />
</li>
<li>
<label for="DeliveryCode" class="left">
Delivery Code</label>
<input type="text" id="DeliveryCode" name="DeliveryCode" class="requiredNoMsg" />
</li>
<li>
<input type="submit" id="Add" value="Add" />
</li>
</ol>
</fieldset>
</form>
</body>
</html>
替换' – Ibu 2011-06-03 06:27:32
消息它仍然加空格=( – 2011-06-03 06:32:04
手动验证也许 – Ibu 2011-06-03 06:41:01