我正在对表单使用jQuery Validation,我必须在输入字段旁边显示一个复选标记(如果条目正确),并在下面显示错误消息(例如:“请输入至少4个字符”)输入字段。
我在考虑做这样的事情:
errorPlacement:function(error,element){
*如果验证成功*
error.appendTo($( “#对号”));
* 除此以外 *
error.appendTo($( “#错误消息”));
}
但是,如何根据需要显示的消息类型来定位不同的div目标?或者我完全错了,还有另一种方法吗?
谢谢!
答案 0 :(得分:0)
过去我通过对有效的validClass
选项使用$(".selector").validate({
validClass: "success"
})
来完成此操作:
success
.success {
background: url(checkmark.png) right no-repeat; /* Say, 16x16px */
margin-right: 18px;
}
可以只是一个带有选中标记背景的css类:
{{1}}
答案 1 :(得分:0)
迟到5个月...希望它仍然有用:
jQuery.validate使用errorPlacement:
选项传递错误和元素参数,以便您可以使用它们执行任何操作...并且每次在用户的表单中发生错误时,函数都会执行。它的对应物是success:
,它将标签作为选项传递。
但为了获得最大的灵活性,您甚至不必使用“标签”。相反,您可以将errorPlacement中的jQuery对象(基于遍历对象“element”)传递给success:
选项。并且成功也会实时计算。
有点令人困惑,但这里有一些通用代码......
对于您的HTML,您可以放置:
<div class="errorparent">
<input type="text" id="username" name="username"/>
<div class="norederrorx errordetails"> </div>
</div>
用于在jQuery.validate选项下查找自定义div:
errorPlacement: function(error, element) {
var errorcontent=eval(error);
errorspotholder = element.parents('.errorparent');
在你的成功选择中:
errorspotholder.find('.rederrorx').removeClass('rederrorx').addClass('norederrorx');
如果你想操纵更多的div ...比如一个单独的有效标记div,你只需要从'errorsotholder'遍历一个不同的对象,它引用包含的父div'errorparent'
一切顺利!
埃米尔
答案 2 :(得分:0)
您可以在jquery.validate.js文件中搜索此表达式:
this.settings.success( label )
并将其替换为:
this.settings.success( label, element)
这个技巧修复了jquery-validate,正如他们在文档中所说的那样。