Jquery easyui は非常に優れた UI フレームワークですが、フォーム検証で 2 つの出力ボックスの値が等しいかどうかを判断する最も一般的に使用される検証が存在しないため、拡張機能を作成しました。
$.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 を使用してフォーム内の 2 つのパスワードが一致しているかどうかを確認するときに、小さな問題が発生しました。これが私が作成したコードです。
$("#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: "*请输入手机号码" } } });
入力した 2 つのパスワードが同じであるにもかかわらず、メッセージが表示され続けるのはなぜですか?これは、さまざまなブラウザやさまざまなバージョンの validate を試した後でも当てはまります。
同様の問題に遭遇した人がいるかどうかはわかりませんが、多くの記事を確認して、問題を解決するためのアイデアをまとめました。
この記事があなたのインスピレーションになれば幸いです、これからも頑張っていきますのでよろしくお願いします。