我有一个正在使用jQuery验证插件成功验证的表单。在正确的位置和正确的情况下显示消息。
到目前为止,一切都很好。
我有1个正在正确验证的字段,但我需要将该1个验证消息与其他消息放置在不同的位置。在2个输入彼此相邻的情况下,我希望验证显示在它们两个下方(即,将它们包装在一起的块下方),而不是在每个单独的输入右侧显示。
这两个输入的验证相互依赖,即至少必须有一个输入。验证规则有效,这只是我在努力的定位。
我正在使用以下验证语法:
$('#formId').validate({
rules: {
},
messages : {
}
}
在我的HTML中,我为要自定义的(radio)字段专门创建了一个标签:
<label for="radioName" id="radioNameId-invalid" class="error"">Some error message</label>
我尝试将内容添加到validate的“ showErrors”功能中,该功能可以正常工作,但似乎随后在我的页面中未显示任何其他验证消息。
showErrors: function(errors) {
var collectionMethodError = errors['collectionMethod'];
if(collectionMethodError) {
$('#radioNameId-invalid').text(errorString);
$('#radioNameId-invalid').css("display","block");
}
}
我想启用此错误,然后允许验证程序继续对其他字段执行其默认行为。
如果删除showErrors函数,则显示其他验证消息,但不显示我的自定义消息。
如何获得两种行为?
我最终使用了errorPlacement函数而不是showErrors函数:
errorPlacement: function(error, element){
$(error).insertAfter(element);
// special case for display
if($(element).attr("name")=="radioName") {
$(error).insertAfter("#anElement"));
$("label[for=radioName].error").attr("id","invalid-radio-message");
}
}
简而言之,我要在验证插件添加的标签中添加一个ID,然后在CSS中对该ID进行样式设置。
那似乎做我想做的事。现在锻炼重新隐藏消息!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句