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
按钮)
答案 0 :(得分:2)
要执行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');
}
}
}
}
要检查用户是否正确重新输入了相同的密码,您可以查看以下代码,'
{
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();
}
}
}
}
意味着在用户进入下一个字段时弹出错误消息(无需等到他点击“注册”按钮)
您需要侦听任何表单字段的blur事件。因此,当该p'cular字段丢失focus
时,它将调用blur()
函数,然后您可以执行验证,而无需点击Register
按钮。
listeners : {
blur : function() {
// Validation code goes here .
....
....
}
}