【问题标题】:Jquery form validation custom error placement in <div> container<div> 容器中的 Jquery 表单验证自定义错误放置
【发布时间】:2011-01-23 18:01:37
【问题描述】:

我正在使用 jquery validate 插件来验证我的表单字段。

脚本如下

jQuery(document).ready(function($){
     $.validator.addMethod(
    "mydate",
    function(value, element) {
        return value.match(/^\d\d?\-\d\d?\-\d\d\d\d$/);
    },
    "Please enter a date in the format dd-mm-yyyy"
    );
    var validator = $("#signupform").validate({
  rules: {
            User: {
    required: true,
                remote: {
        url: "user.php",
        type: "post",
          },
   },
   "RID[]": {
    required: true,
                remote: {
        url: "resource.php",
        type: "post",
          },
   },
            Date: {
    required: true,
                mydate : true
            },
  },
  messages: {
   User: "Specify Active User",
   "RID[]": "Specify Available Resource",
            Date: "Specify Date"
  },
  errorPlacement: function(error, element) {
    error.appendTo( element.parent().next() );
  },
  success: function(label) {
   label.html("OK").addClass("checked");
  }
 });

验证我的表单字段之一

<tr>
<td style="width: 70px" class="style22" valign="top">Resource ID</td>
<td id="resource" style="width: 267px;">
<input id="resource" name="RID[]" type="text" value="" style="width: 232px" /></td>
<td class="style21" style="width: 160px" valign="top">
<img id="addScnt" alt="[+]" src="+.gif"/>
</td>
<td>
    &nbsp;
</td>
</tr>

但我想将“RID[]”的错误放在特定的 div &lt;div id="errorcontainer2"&gt; 中。

我怎样才能做到这一点??

提前谢谢.. :)

爆破

【问题讨论】:

    标签: jquery jquery-plugins validation jquery-validate


    【解决方案1】:

    我在特定 div &lt;div id="errorbox"&gt; 中使用自定义错误放置解决了这个问题

    errorPlacement: function(error, element){
        if(element.attr("name") == "RID[]"){
            error.appendTo($('#errorbox'));
        }else{
            error.appendTo( element.parent().next() );
        }
    }
    

    【讨论】:

      【解决方案2】:
      1. 创建一个带有 id 的 div。

      2. 使用选择器获取错误 div。

      3. 使用.add() 函数将您的错误HTML 添加到其中。

      【讨论】:

        【解决方案3】:

        在验证器的errorPlacement选项中使用以下结构和逻辑来编码:

        errorPlacement: function(error, element){
            if("RID[]" == element.attr("name")){
                // Place error for RID[] as you want
            }else{
                // Place errors normally
            }
        }
        

        【讨论】:

        • 我应该在你的语法中在哪里添加&lt;div id="errorcontainer2"&gt;??
        猜你喜欢
        • 2012-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多