Jquery Validate errorPlacement

Posted

技术标签:

【中文标题】Jquery Validate errorPlacement【英文标题】: 【发布时间】:2011-11-06 16:14:08 【问题描述】:

我正在使用 jquery validate 验证表单,并且在始终设置错误位置时遇到了一些麻烦。输入字段有不同级别的嵌套,有些在 div 中,有些在嵌套的 div 中。但是,对于所有错误,我希望将其放在相关输入字段上方的类“变暖”的跨度中。我试过最亲近的父母,但似乎不起作用。我可以显式遍历树,但只有在元素处于同一嵌套级别时才有效?我认为最接近的应该可以工作,但它没有(我做错了什么)任何帮助表示赞赏。

$("#paymentpreferences").validate(
    rules:     
        minpayment: 
            digits: true,
            min: 5
                   
    ,
    errorPlacement: function(error, element)       
        $(element).parents('span .warming :first').html(error);
    ,
    success: function(label)           
        label.next().next().addClass('tick');
    
); 

示例 Html,请参阅“方法”选择在嵌套 div 中,但帐户不在

                                    <span class="warming"></span>
                                      <div class="lab_box"><label class="lab">payment type</label></div>
                                        <div class="input_box">
                                            <div class="gender_box">

                                                <select name="method" id="method" tabindex="1" class="ins required">
                                                <option value="1" label="PayPal">PayPal</option>
                                                </select>                                       
                                            </div>
                                            <a href="#" title="tooltip_paymentmethod" class="question tooltips"></a>
                                            <div class=" fill"></div>
                                        </div>
                                        <div class="wb_clear"></div>
                                        <span class="warming"></span>

                                        <div class="lab_box"><label class="lab">account number</label></div>
                                        <div class="input_box">
                                            <span>
                                            <input type="text" name="accountno" id="accountno" value="asdasd" tabindex="2" class="ins required" size="30" />
                                            </span>
                                            <a href="#" title="tooltip_accountno" class="question tooltips"></a>
                                            <div class="fill"></div>
                                        </div>

【问题讨论】:

【参考方案1】:

如果您想在特定 div 或 span 中明确指定错误消息,您可以在该元素的错误位置中编写类似这样的内容。

if ( element.is("#your_field") )
     error.appendTo('#your_field_err');

这里 your_field_err 是您的错误 div 或 span 的 ID。并且 your_field 是该字段的 id。 就像您在代码中提到的复杂结构一样。 请确保将此类错误放置在顶部和最通用的位置,就像在底部的代码中一样。

【讨论】:

以上是关于Jquery Validate errorPlacement的主要内容,如果未能解决你的问题,请参考以下文章

验证器插件jQuery中的errorPlacement问题

用于errorPlacement的jQuery验证自定义动画

jquery validate 弹窗提示错误怎么弄?

validate验证jquery chosen相关问题

jquery validate 动态增加删除验证规则(转载)

jQuery表单验证