Jquery easyui是一个非常好的ui框架,但是表单验证中没有最常用的判断两个输出框中值相等的验证,所以我做了下扩展。
$.extend($.fn.validatebox.defaults.rules, { /*必须和某个字段相等*/ equalTo: { validator:function(value,param){ return $(param[0]).val() == value; }, message:\'字段不匹配\' } });
使用示例:
密码: <input id=\"password\" name=\"password\" validType=\"length[4,32]\" class=\"easyui-validatebox\" required=\"true\" type=\"password\" value=\"\"/> <br/> 确认密码:<input type=\"password\" name=\"repassword\" id=\"repassword\" required=\"true\" class=\"easyui-validatebox\" validType=\"equalTo[\'#password\']\" invalidMessage=\"两次输入密码不匹配\"/>
将validType属性指定为equalTo[\'#password\']即可。
当然使用这个小插件,必须要先引用jquery easyui的js库。
使用jQuery.validate验证表单中两次密码是否一致的时候遇到了一点小问题,这是我编写的代码:
$(\"#aspnetForm\").validate({ rules: { txtName: { required: true }, txtTrueName: { required: true }, txtPass: { required: true, minlength: 3 }, txtTwoPass: { required: true, minlength: 3, equalTo: \"#txtPass\" }, txtEmail: { required: true, email: true }, txtAddress: { required: true }, txtPhone: { required: true } }, messages: { txtName: { required: \"*请输入用户名\" }, txtTrueName: { required: \"*请输入姓名\" }, txtPass: { required: \"*请输入密码\", minlength: \"*密码不能小于3个字符\" }, txtTwoPass: { required: \"*请输入确认密码\", minlength: \"*密码不能小于3个字符\", equalTo: \"*请再次输入相同的值\" }, txtEmail: { required: \"*请输入邮箱\", email: \"*请输入正确的邮箱格式\" }, txtAddress: { required: \"*请输入地址\" }, txtPhone: { required: \"*请输入手机号码\" } } });
为什么明明我输入的两次密码是一致的还一直提示我呢?试过不同的浏览器和不同版本的validate都是如此。
不知道大家有没有遇到类似的问题,我查阅了许多文章,总结了一下解决问题的思路:
希望这篇文章可以给大家一些启发,谢谢大家的阅读,小编一定会再接再厉。
本文地址:https://www.stayed.cn/item/9451
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我