0

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按钮)

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. 意思是当用户进入下一个字段时弹出错误消息(不必等到他点击注册按钮)

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

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