日期:2014-05-16  浏览次数:20384 次

ExtJs 确认密码验证的两种实现

实现1:

*************************************************

??? Ext.apply(Ext.form.VTypes, {
?? ??? ??? ??? ?confirmPwd : function(val, field) {
?? ??? ??? ??? ??? ?if (field.confirmPwd) {
?? ??? ??? ??? ??? ??? ?var firstPwdId = field.confirmPwd.first;
?? ??? ??? ??? ??? ??? ?var secondPwdId = field.confirmPwd.second;
?? ??? ??? ??? ??? ??? ?this.firstField = Ext.getCmp(firstPwdId);
?? ??? ??? ??? ??? ??? ?this.secondField = Ext.getCmp(secondPwdId);
?? ??? ??? ??? ??? ??? ?var firstPwd = this.firstField.getValue();
?? ??? ??? ??? ??? ??? ?var secondPwd = this.secondField.getValue();
?? ??? ??? ??? ??? ??? ?if (firstPwd == secondPwd) {
?? ??? ??? ??? ??? ??? ??? ?return true;
?? ??? ??? ??? ??? ??? ?} else {
?? ??? ??? ??? ??? ??? ??? ?return false;
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?},
?? ??? ??? ??? ?confirmPwdText : '两次输入的密码不一致!'
?? ??? ??? ?});

================================================

?

??????????????????? {
??? ??? ??? ??? ??? ??? id : 'password',
??? ??? ??? ??? ??? ??? name : 'password',
??? ??? ??? ??? ??? ??? width : 140,
??? ??? ??? ??? ??? ??? fieldLabel : '<font color="red">密&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;码</font>',
??? ??? ??? ??? ??? ??? // confirmPwd : {
??? ??? ??? ??? ??? ??? // first : 'password',
??? ??? ??? ??? ??? ??? // second : 'confirmPassword'
??? ??? ??? ??? ??? ??? // },
??? ??? ??? ??? ??? ??? // inputType : 'password',
??? ??? ??? ??? ??? ??? // vtype : 'confirmPwd',
??? ??? ??? ??? ??? ??? allowBlank : false,
??? ??? ??? ??? ??? ??? blankText : '密码不能为空',
??? ??? ??? ??? ??? ??? regex : /^[\s\S]{0,20}$/,
??? ??? ??? ??? ??? ??? regexText : '密码长度不能超过20个字符'
??? ??? ??? ??? ??? }, {
??? ??? ??? ??? ??? ??? id : 'confirmPassword',
??? ??? ??? ??? ??? ??? name : 'confirmPassword',
??? ??? ??? ??? ??? ??? width : 140,
??? ??? ??? ??? ??? ??? fieldLabel : '<font color="red">确认密码</font>',
??? ??? ??? ??? ??? ??? confirmPwd : {
??? ??? ??? ??? ??? ??? ??? first : 'password',
??? ??? ??? ??? ??? ??? ??? second : 'confirmPassword'
??? ??? ??? ??? ??? ??? },
??? ??? ??? ??? ??? ??? // inputType : 'password',
??? ??? ??? ??? ??? ??? vtype : 'confirmPwd',
??? ??? ??? ??? ??? ??? allowBlank : false,
??? ??? ??? ??? ??? ??? blankText : '确认密码不能为空',
??? ??? ??? ??? ??? ??? regex : /^[\s\S]{0,20}$/,
??? ??? ??? ??? ??? ??? regexText : '确认密码长度不能超过20个字符'
??? ??? ??? ??? ??? }

?

-----------------------------------------------------------------

?

实现2:

*************************************************


?? ?Ext.apply(Ext.form.VTypes, {
?? ??? ??? ??? ?password : function(val, field) {
?? ??? ??? ??? ??? ?if (field.initialPassField) {
?? ??? ??? ??? ??? ??? ?var pwd = Ext.getCmp(field.initialPassField);
?? ??? ??? ??? ??? ??? ?return (val == pwd.getValue());
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?return true;
?? ??? ??? ??? ?},
?? ??? ??? ??? ?passwordText : '两次输入的密码不一致!'
?? ??? ??? ?});

=================================================

?

??????????????????????? {
??? ??? ??? ??? ??? ??? ??? id : 'newPwd',
??? ??? ??? ??? ??? ??? ??? name : 'newPwd',
??? ??? ??? ??? ??? ??? ??? width : 140,
??? ??? ??? ??? ??? ??? ??? inputType : 'password',
??? ??? ??? ??? ??? ??? ??? fieldLabel : '<font color="red">新 密 码</font>',
??? ??? ??? ??? ??? ??? ??? allowBlank : false,
??? ??? ??? ??? ??? ??? ??? blankText : '新密码不能为空',
??? ??? ??? ??? ??? ??? ??? regex : /^[\s\S]{0,12}$/,
??? ??? ??? ??? ??? ??? ??? regexText : '新密码长度不能超过12个字符'
??? ??? ??? ??? ??? ??? }, {
??? ??? ??? ??? ??? ??? ??? name : 'confirmPwd',
??? ??? ??? ??? ??? ??? ??? widt