ホームページ  >  記事  >  ウェブフロントエンド  >  jqueryは、2回入力されたパスワードがequal_jqueryであるかどうかを判断します

jqueryは、2回入力されたパスワードがequal_jqueryであるかどうかを判断します

WBOY
WBOYオリジナル
2016-05-16 15:28:222352ブラウズ

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 を試した後でも当てはまります。

同様の問題に遭遇した人がいるかどうかはわかりませんが、多くの記事を確認して、問題を解決するためのアイデアをまとめました。

  • まず、HTML ページの 2 種類のパスワードに ID が割り当てられているかどうかを確認します。
  • または、ページ上に 2 つの txtPass ID があるかどうかを検索します。
  • または、まずequalToを削除し、他のエラーがあるかどうかを再確認してから、この場所のトラブルシューティングに戻ることもできます。

この記事があなたのインスピレーションになれば幸いです、これからも頑張っていきますのでよろしくお願いします。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。