自定义错误放置在Jqueryvalidation插件中不起作用

时间:2014-07-10 06:19:24

标签: java jquery jquery-validate

我使用jquery验证插件验证我的表单数据,我有一个fileupload元素然后一个按钮,打开浏览窗口选择文件,因为fileuplad元素和按钮之间显示默认错误信息,我想显示这个按钮后的错误消息。我已经尝试了许多语法,因为StackOverflow上提供了其他类似的问题,但它们都不适用于我。

我的jsp代码是:

<tr>
     <td>Browse Query File:</td>                    
     <td>
          <span id="input_span" style="background-color: red">  
            <INPUT type="text" id="inputfilepath" name="inputfilepath" placeholder="Query File" autocomplete='off' class="text" readonly="true" onclick="hidehint();" style="margin-left: 10%">

            <input type="file" name="upFile" id="upFile"  class="file" onchange="return do_upload(this.value);"/>
            <input type="button" value="Browse" class="content_button2" onclick="do_click();"/> 
         </span>
         <span id="error_span">  </span>

       </td>
     </tr> 

我希望我的错误消息显示在其后面有id-“error_span”的范围内。

我尝试过建议代码:

 errorPlacement: function(label, element)
              {

                  if(element.attr("name") === "inputfilepath") 
                  { 
                      alert("call");
                      error.appendTo($('#error_span'));
                  }

                  else
                  {       
                       error.insertAfter(element);
                  }
              },

我也尝试过:

                    error.appendTo(element.parent("span").next("span"));

但它对我不起作用。

1 个答案:

答案 0 :(得分:1)

rules: {
//rule stuff
}
groups: {
    fileUpload: "upFile upButton"
},
errorPlacement: {
    function(error, element) {
        if(element.attr("name") == "upFile") {
                error.insertAfter("#upButton");
            } else {
                error.insertAfter(element);
            }
}

请确保将按钮命名为“upButton”,以便工作。

您基本上是想要对这些元素进行分组,并且错误放置显示,如果upFile上存在验证错误,您希望在upButton元素之后显示该错误消息。