我希望仅针对表单上的特定输入字段禁用错误消息。
在这个例子中,我试图仅为无线电输入字段禁用信息。
jQuery(document).ready(function($) {
"use strict";
$("form").validate();
$('input[type="radio"]').validate({
errorPlacement: function(error, element) {
return false;
}
});
$(document.body).on('click', '.submiter', function () {
$("input").valid();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.15.0/jquery.validate.min.js"></script>
<form>
<fieldset>
<p>
<label for="title-Mr">Mr</label>
<input id="title-Mr" type="radio" name="title" value="MR" class="required">
</p>
<p>
<label for="bading">Bading</label>
<input id="bading" type="text" name="bading" class="required">
</p>
</fieldset>
<p>
<a class="submiter" href="#submit">submit</a>
</p>
</form>
答案 0 :(得分:1)
我通过在errorPlacement函数中添加if语句来解决这个问题。
jQuery(document).ready(function($) {
"use strict";
$("form").validate({
errorPlacement: function(error, element) {
if (element.is(":radio")) {
return false;
} else {
error.insertAfter(element);
}
}
});
$(document.body).on('click', '.submiter', function() {
$("input").valid();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.15.0/jquery.validate.min.js"></script>
<form>
<fieldset>
<p>
<label for="title-Mr">Mr</label>
<input id="title-Mr" type="radio" name="title" value="MR" class="required">
</p>
<p>
<label for="bading">Bading</label>
<input id="bading" type="text" name="bading" class="required">
</p>
</fieldset>
<p>
<a class="submiter" href="#submit">submit</a>
</p>
</form>
答案 1 :(得分:0)
查看https://jqueryvalidation.org/validate处的文档。只需要一个类别来识别您不想验证的字段并使用“忽略”&#39; form.validate调用中的选项:
jQuery(document).ready(function($) {
"use strict";
$("form").validate({ignore: ".ignore"});
$(document.body).on('click', '.submiter', function () {
$("input").valid();
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.15.0/jquery.validate.min.js"></script>
<form>
<fieldset>
<p>
<label for="title-Mr">Mr</label>
<input id="title-Mr" type="radio" name="title" value="MR" class="required ignore">
</p>
<p>
<label for="bading">Bading</label>
<input id="bading" type="text" name="bading" class="required">
</p>
</fieldset>
<p>
<a class="submiter" href="#submit">submit</a>
</p>
</form>
&#13;
答案 2 :(得分:0)
这是一个解决方案
<script>
jQuery(document).ready(function($) {
"use strict";
$('form').validate({
errorPlacement: function(error, element) {
if(element.attr('id') == 'title-Mr'){
return false;
}
}
});
$(document.body).on('click', '.submiter', function () {
$("input").valid();
});
});
</script>
答案 3 :(得分:0)
此方案中的最佳选择是:
class="required"
属性。通过在ignore: <selector>
函数中指定$().validate()
,完全忽略对该元素的验证。
$('input[type="radio"]').validate({
ignore: "title-Mr"
});
如果您仍然需要单选按钮,但不显示消息,请为该特定标识符指定空消息。
$('input[type="radio"]').validate({
messages: {
"title-Mr": null
}
});
根据https://jqueryvalidation.org/,首页上的视频介绍了几种不同的场景,每种场景都变得越来越复杂。演示如何指定基本自定义的方案说明有两个主要部分要传递给$().validate()
函数:“rules”和“messages”。在“消息”内部,子键是您要自定义的表单字段消息的ID。还有其他选项,例如“忽略”。
希望这有帮助。