现在的位置: 首页 > 综合 > 正文

Extjs验证功能

2013年09月17日 ⁄ 综合 ⁄ 共 4509字 ⁄ 字号 评论关闭

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',
                            width : 140,
                            inputType : 'password',
                            fieldLabel : '<font color="red">确认密码</font>',
                            vtype : 'password',
                            initialPassField : 'newPwd',
                            allowBlank : false,
                            blankText : '确认密码不能为空',
                            regex : /^[\s\S]{0,12}$/,
                            regexText : '旧密码长度不能超过12个字符'
                        }

Ext.apply(Ext.form.field.VTypes, {
     daterange: function(val, field) {
         var date = field.parseDate(val);

         if (!date) {
             return false;
         }
         if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) {
             var start = field.up('form').down('#' + field.startDateField);
             start.setMaxValue(date);
             start.validate();
             this.dateRangeMax = date;
         }
         else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) {
             var end = field.up('form').down('#' + field.endDateField);
             end.setMinValue(date);
             end.validate();
             this.dateRangeMin = date;
         }
         /*
          * Always return true since we're only using this vtype to set the
          * min/max allowed values (these are tested for after the vtype test)
          */
         return true;
     },

     daterangeText: '开始日期必须小于等于结束日期',

     password: function(val, field) {
         if (field.initialPassField) {
             var pwd = field.up('form').down('#' + field.initialPassField);
             return (val == pwd.getValue());
         }
         return true;
     },

     passwordText: '密码不匹配'
 });

抱歉!评论已关闭.