From 05c164532388bc0be2ac283e78fee3d2cb0740cc Mon Sep 17 00:00:00 2001 From: Edward Date: Mon, 22 Apr 2013 16:31:29 +0800 Subject: [PATCH] widgets/SecurePass.js --- widgets/SecurePass.js | 53 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/widgets/SecurePass.js b/widgets/SecurePass.js index 46a30591..b946dc68 100644 --- a/widgets/SecurePass.js +++ b/widgets/SecurePass.js @@ -165,7 +165,58 @@ Ext.extend(Ext.form.SecurePass, Ext.form.TextField, { }, // private validateValue : function(value){ - Roo.log(value); + if (!Ext.form.TextField.superclass.validateValue.call(this, value)){ + return false; + } + if (value.length == 0) { + if (this.allowBlank) { + this.clearInvalid(); + return true; + } + + this.markInvalid(this.errors.PwdEmpty); + return false; + } + if ('[\x21-\x7e]*'.match(value)) { + this.markInvalid(this.errors.PwdBadChar); + return false; + } + if (value.length < 6) { + this.markInvalid(this.errors.PwdShort); + return false; + } + if (value.length > 16) { + this.markInvalid(this.errors.PwdLong); + return false; + } + var strength; + if (this.ClientSideStrongPassword(value)) { + strength = 3; + } else if(this.ClientSideMediumPassword(value)) { + strength = 2; + } else if(this.ClientSideWeakPassword(value)) { + strength = 1; + } else { + strength = 0; + } + if (strength < 2) { + this.markInvalid(this.errors.TooWeak); + return false; + } + /* + for (var index = 0; index < this.fieldsFilter.length; ++index) { + filter = document.getElementById(this.fieldsFilter[index][0]).value; + if (filter != '') + { + re = new RegExp(filter); + if (re.test(value)) { + this.markInvalid(eval('this.errors.'+ this.fieldsFilter[index][1])); + return false; + } + } + } + */ + return true; }, // private -- 2.39.2