在<div>容器</div>中的Jquery表单验证自定义错误放置

时间:2011-01-23 18:01:37

标签: jquery jquery-plugins validation jquery-validate

我正在使用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>

但我想在特定的div <div id="errorcontainer2">中为“RID []”添加错误。

我怎样才能做到这一点?

提前致谢.. :))

blasteralfred

3 个答案:

答案 0 :(得分:7)

我使用特定div <div id="errorbox">

中的自定义错误放置解决了这个问题
errorPlacement: function(error, element){
    if(element.attr("name") == "RID[]"){
        error.appendTo($('#errorbox'));
    }else{
        error.appendTo( element.parent().next() );
    }
}

答案 1 :(得分:0)

  1. 创建一个带有id的div。

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

  3. 使用.add()功能将错误HTML添加到其中。

答案 2 :(得分:0)

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

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