The example in this article describes the jquery.validate prompt error message location method. Share it with everyone for your reference, the details are as follows:
I haven’t used the jquery.validate.js plug-in for a long time, and I almost forgot about it. Alas, good things should always be taken out and looked at. Today I used jquery.validate to make a small thing. I encountered a problem, which is the location of the error message. If you know it, it is very simple. I have encountered it before, but I forgot it. Mark it now. If I forget it in the future, I will look back. As the saying goes, a good memory is worse than a bad writing.
As an example, everyone will know what’s going on.
rules: { name:{ required:true, rangelength:[1,20] }, validateCode: { required:true, number:true, rangelength:[5,5] } }, messages: { name: { required: "请输入命令名", rangelength: jQuery.format("长度请控制在{0} ~ {1}") }, validateCode: { required: "请输入验证码", number: "请输入数字", rangelength: jQuery.format("长度必须是5位") } }, success: function(label) { label.addClass("error checked"); }, submitHandler: function(form) { if($("#RegionId").val() == '0'){ $("#citySelect").attr("class","error").html('请选择区域').show(); $("#RegionId").attr("class","error"); }else{ $("#RegionId").attr("class","valid"); $("#citySelect").attr("class","valid").html('success').show(); form.submit(); } } });
In the above code, I did not add a method to store the error message. Let’s take a look at the effect
<td> <input type="text" maxlength="30" value="" id="name" name="name"> <label for="name" generated="true">请输入命令名</label> //错误信息会自动根在输入框的后面。 </td>
If we add the errorPlacement method of error message location, let’s see what the effect looks like.
rules: { name:{ required:true, rangelength:[1,20] }, validateCode: { required:true, number:true, rangelength:[5,5] } }, messages: { name: { required: "请输入命令名", rangelength: jQuery.format("长度请控制在{0} ~ {1}") }, validateCode: { required: "请输入验证码", number: "请输入数字", rangelength: jQuery.format("长度必须是5位") } }, errorPlacement: function(error, element) { //错误信息位置设置方法 error.appendTo( element.parent().next() ); //这里的element是录入数据的对象 }, success: function(label) { label.addClass("error checked"); }, submitHandler: function(form) { if($("#RegionId").val() == '0'){ $("#citySelect").attr("class","error").html('请选择区域').show(); $("#RegionId").attr("class","error"); }else{ $("#RegionId").attr("class","valid"); $("#citySelect").attr("class","valid").html('success').show(); form.submit(); } } });
Let’s see the effect
<tr> <th><label for="name" id="lname"><code title="必填">*</code>命令名称</label></th> <td><input type="text" maxlength="30" value="" id="name" name="name"></td> <td><label for="name" generated="true">请输入命令名</label></td> //错误信息跑到这儿来了, </tr>
It’s simple enough. Even simple things will be forgotten if you don’t use them for a long time.
Readers who are interested in more content related to jQuery plug-ins can check out the special topic of this site: "Summary of common jQuery plug-ins and usage"
I hope this article will be helpful to everyone in jQuery programming.