jQuery验证errorPlacement成功VS失败(JQuery Validation err

2019-10-19 13:53发布

我使用jQuery验证为一种形式,我必须旁边显示所述输入字段生成对勾(如果条目是正确的),并且该错误消息(例如:“请输入至少4个字符”)低于输入字段。

我想这样做是这样的:

errorPlacement:功能(错误,元素){
*如果验证成功的是* error.appendTo($( “#对号”)); *否则* error.appendTo($( “#错误消息”)); }

但是,你怎么能根据消息的需要显示的类型的目标不同DIV目的地是哪里? 还是我把它完全错误的,还有另一种方式来做到这一点?

谢谢!

Answer 1:

在过去,我已经通过这样做validClass对有效问卷的选项:

$(".selector").validate({
   validClass: "success"
})

success可以只是一个CSS类有标记的背景到一边:

.success {
  background: url(checkmark.png) right no-repeat; /* Say, 16x16px */
  margin-right: 18px;
}


Answer 2:

5月中下旬...希望它仍然是有帮助的:

jQuery.validate使用errorPlacement:选项传递错误和元素参数,以便你可以做你想要跟他们任何...和函数执行每个用户的形式发生错误的时间。 它对应的是success:它通过标签作为一种选择。

但对于最终的灵活性,您甚至不必使用“标签”。 相反,你可以通过从errorPlacement一个jQuery对象(基于对象“元素”穿越)的success:选项。 并成功在实时计算为好。

所有有些混乱,但这里的一些通用的代码...

为了您的HTML,你可以把:

<div class="errorparent">
<input type="text" id="username" name="username"/>
<div class="norederrorx errordetails">&nbsp;</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”不同的对象

祝一切顺利!

埃米尔



Answer 3:

您可以搜索jquery.validate.js文件这个表达式:

 this.settings.success( label )

将其替换为:

 this.settings.success( label, element)

这一招修理jQuery的验证,因为他们自己的文件中说。



文章来源: JQuery Validation errorPlacement Success vs Failure