我使用jQuery验证为一种形式,我必须旁边显示所述输入字段生成对勾(如果条目是正确的),并且该错误消息(例如:“请输入至少4个字符”)低于输入字段。
我想这样做是这样的:
errorPlacement:功能(错误,元素){
*如果验证成功的是* error.appendTo($( “#对号”)); *否则* error.appendTo($( “#错误消息”)); }
但是,你怎么能根据消息的需要显示的类型的目标不同DIV目的地是哪里? 还是我把它完全错误的,还有另一种方式来做到这一点?
谢谢!
在过去,我已经通过这样做validClass
对有效问卷的选项:
$(".selector").validate({
validClass: "success"
})
success
可以只是一个CSS类有标记的背景到一边:
.success {
background: url(checkmark.png) right no-repeat; /* Say, 16x16px */
margin-right: 18px;
}
5月中下旬...希望它仍然是有帮助的:
jQuery.validate使用errorPlacement:
选项传递错误和元素参数,以便你可以做你想要跟他们任何...和函数执行每个用户的形式发生错误的时间。 它对应的是success:
它通过标签作为一种选择。
但对于最终的灵活性,您甚至不必使用“标签”。 相反,你可以通过从errorPlacement一个jQuery对象(基于对象“元素”穿越)的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”不同的对象
祝一切顺利!
埃米尔
您可以搜索jquery.validate.js文件这个表达式:
this.settings.success( label )
将其替换为:
this.settings.success( label, element)
这一招修理jQuery的验证,因为他们自己的文件中说。