检查我的应用程序时出错

时间:2012-05-10 01:38:46

标签: cordova sencha-touch extjs sencha-touch-2

1。)我有一个代码脚本来检查用户是否输入了正确的电子邮件格式;

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

此代码不正确,因为用户名和域名也可以包含Numbers。那么我该如何更正代码?

2。)在视图中,我有2个字段;密码和重新输入密码。我如何检查这两个是否相等?

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

3.。)是否有可能进行Ajaxified错误检查,这意味着当用户进入下一个字段时弹出错误消息(无需等到他点击Register按钮)

1 个答案:

答案 0 :(得分:2)

  1. 要执行email验证,您可以查看我的以下代码。如果usernamedomain nameNumbers

    ,它也会有用
    {
      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. 意味着在用户进入下一个字段时弹出错误消息(无需等到他点击“注册”按钮)

  4. 您需要侦听任何表单字段的blur事件。因此,当该p'cular字段丢失focus时,它将调用blur()函数,然后您可以执行验证,而无需点击Register按钮。

    listeners : {
         blur : function() {
             // Validation code goes here .
             ....
             ....
         }
    }