0

1.) ユーザーが正しい電子メール形式を入力したかどうかを確認するコード スクリプトがあります。

if (val.search("[a-z]+@[a-z]+[.][a-z]+") == -1)
                          Ext.Msg.alert("Error", "Invalid e-mail address!!"); 

Numbersユーザー名とドメイン名も同様に取り込まれる可能性があるため、このコードは正しくありません。では、コードを修正するにはどうすればよいですか?

2.) ビューには、2 つのフィールドがあります。パスワードを入力し、パスワードを再入力します。これら2つが等しいかどうかを確認するにはどうすればよいですか?

{
                          xtype:'textfield',
                          name:'password',
                          label:'Password'
                          },
                          {
                          xtype:'textfield',
                          name:'rpassword',
                          label:'retype password'
                          }
                          ]
                   },
                   {
                   xtype:'button',
                   id:'pwdButton',
                   text:'register',
                   ui:'confirm'
}

3.) Ajax 化されたエラー チェックを実行する可能性はありますか。つまり、ユーザーが次のフィールドに移動するとエラー メッセージがポップアップ表示されます (Registerボタンをクリックするまで待つ必要はありません) 。

4

1 に答える 1

2
  1. 検証を実行するにはemail、以下のコードをチェックしてください。usernameとがあれば、それもうまくいきdomain nameますNumbers

    {
      xtype: 'emailfield',
      name: 'email',
      label: 'Email',
      id: 'emailId',
      placeHolder: 'google@gmail.com',
      required: true,
      listeners: {
        blur: function(thisTxt, eventObj) {
                var emailValue = thisTxt.getValue();
                var atpos = emailValue.indexOf("@");
                var dotpos = emailValue.lastIndexOf(".");
                if (atpos<1 || dotpos<atpos+2 || dotpos+2>= emailValue.length) {
                    Ext.Msg.alert("Not a valid e-mail address");
                } else {
                    Ext.Msg.alert('Valid','You entered a valid email address');
                }
        }
       }
     }
    
  2. ユーザーが同じパスワードを正しく再入力したかどうかを確認するには、以下のコードを確認してください。

     {
        xtype:'textfield',
        name:'password',
        id: 'pswd1',
        label:'Password'
     },
     {
        xtype:'textfield',
        name:'rpassword',
        id: 'pswd2',
        label:'retype password',
        listeners : {
            blur : function() {
               var prevPassword = Ext.getCmp('pswd1').getValue();
               var rePassword = Ext.getCmp('pswd2').getValue();
               if(prevPassword == rePassword) {
                    Ext.Msg.alert('Success','Passwords match');
               } else {
                    Ext.Msg.alert('Failed','Passwords entered do not match');
                    Ext.getCmp('pswd2').focus();
               }
           }
       }
     }
    
  3. ユーザーが次のフィールドに移動したときにエラー メッセージをポップアップすることを意味します (ユーザーが [登録] ボタンをクリックするまで待つ必要はありません)。

フォーム フィールドのblurイベントをリッスンする必要があります。したがって、その p'cular フィールドが Loosefocusになると、関数が呼び出さblur()れ、ボタンを押すことなく検証を実行できRegisterます。

listeners : {
     blur : function() {
         // Validation code goes here .
         ....
         ....
     }
}
于 2012-05-10T02:46:25.600 に答える