* @class Roo.bootstrap.form.SecurePass
* @extends Roo.bootstrap.form.Input
* Bootstrap SecurePass class
+ * @cfg {Number} minimumStrength invalid if the strength of the password input is less than the minimum strength (from 0 to 3) (default 2)
*
*
* @constructor
*/
</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-comment">// these go here, so the translation tool can replace them..
- </span><span class="jsdoc-var">this.errors </span><span class="jsdoc-syntax">= {
- </span><span class="jsdoc-var">PwdEmpty</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Please type a password, and then retype it to confirm."</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">PwdShort</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password must be at least 6 characters long. Please type a different password."</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">PwdLong</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password can't contain more than 16 characters. Please type a different password."</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">PwdBadChar</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"The password contains characters that aren't allowed. Please type a different password."</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">IDInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password can't include the part of your ID. Please type a different password."</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">FNInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password can't contain your first name. Please type a different password."</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">LNInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password can't contain your last name. Please type a different password."</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">TooWeak</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password is Too Weak."
- </span><span class="jsdoc-syntax">},
- </span><span class="jsdoc-var">this.meterLabel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"Password strength:"</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">this.pwdStrengths </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-string">"Too Weak"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Weak"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Medium"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Strong"</span><span class="jsdoc-syntax">];
- </span><span class="jsdoc-var">this.meterClass </span><span class="jsdoc-syntax">= [
- </span><span class="jsdoc-string">"roo-password-meter-tooweak"</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-string">"roo-password-meter-weak"</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-string">"roo-password-meter-medium"</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-string">"roo-password-meter-strong"</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-string">"roo-password-meter-grey"
- </span><span class="jsdoc-syntax">];
-
- </span><span class="jsdoc-var">this.errors </span><span class="jsdoc-syntax">= {};
</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
}
</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.form.Input</span><span class="jsdoc-syntax">, {
- </span><span class="jsdoc-comment">/**
- * @cfg {String/Object} errors A Error spec, or true for a default spec (defaults to
- * {
- * PwdEmpty: "Please type a password, and then retype it to confirm.",
- * PwdShort: "Your password must be at least 6 characters long. Please type a different password.",
- * PwdLong: "Your password can't contain more than 16 characters. Please type a different password.",
- * PwdBadChar: "The password contains characters that aren't allowed. Please type a different password.",
- * IDInPwd: "Your password can't include the part of your ID. Please type a different password.",
- * FNInPwd: "Your password can't contain your first name. Please type a different password.",
- * LNInPwd: "Your password can't contain your last name. Please type a different password."
- * })
- */
- // private
-
+ </span><span class="jsdoc-var">minimumStrength </span><span class="jsdoc-syntax">: 2,
+ </span><span class="jsdoc-comment">// private
</span><span class="jsdoc-var">meterWidth</span><span class="jsdoc-syntax">: 300,
- </span><span class="jsdoc-var">errorMsg </span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-var">errors</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-var">imageRoot</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'/'</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-comment">/**
- * @cfg {String/Object} Label for the strength meter (defaults to
- * 'Password strength:')
- */
- // private
- </span><span class="jsdoc-var">meterLabel</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
- </span><span class="jsdoc-comment">/**
- * @cfg {String/Object} pwdStrengths A pwdStrengths spec, or true for a default spec (defaults to
- * ['Weak', 'Medium', 'Strong'])
- */
- // private
- </span><span class="jsdoc-var">pwdStrengths</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-comment">// private
</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">: 0,
</span><span class="jsdoc-comment">// private
</span><span class="jsdoc-comment">//var pm = this.trigger.child('div/div/div').dom;
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.trigger.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'div/div'</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.meterClass</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">pm.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.meterClass</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">]);
+ </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">pm.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">]);
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.trigger.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'/div'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'>*[class=roo-password-meter-text]'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.dom</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">pt.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.meterLabel </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'&nbsp;' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.pwdStrengths</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-var">pt.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterLabel </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'&nbsp;' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.pwdStrengths</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">];
</span><span class="jsdoc-var">this._lastPwd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">pwd</span><span class="jsdoc-syntax">;
},
</span><span class="jsdoc-var">this._lastPwd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.trigger.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'div/div'</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.meterClass</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">pm.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'roo-password-meter-grey'</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
}
- </span><span class="jsdoc-var">this.markInvalid</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.errors.PwdEmpty</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.errors.PwdEmpty</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.invalidText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors.PwdEmpty</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
}
}
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">value.match</span><span class="jsdoc-syntax">(/[\x21-\x7e]+/)) {
- </span><span class="jsdoc-var">this.markInvalid</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.errors.PwdBadChar</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.errors.PwdBadChar</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.invalidText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors.PwdBadChar</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
}
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value.length </span><span class="jsdoc-syntax">< 6) {
- </span><span class="jsdoc-var">this.markInvalid</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.errors.PwdShort</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.errors.PwdShort</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.invalidText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors.PwdShort</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
}
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value.length </span><span class="jsdoc-syntax">> 16) {
- </span><span class="jsdoc-var">this.markInvalid</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.errors.PwdLong</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.errors.PwdLong</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.invalidText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors.PwdLong</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
}
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">;
}
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">strength </span><span class="jsdoc-syntax">< 2) {
- </span><span class="jsdoc-comment">//this.markInvalid(this.errors.TooWeak);
- </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.errors.TooWeak</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-comment">//return false;
- </span><span class="jsdoc-syntax">}
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">strength </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">this.minimumStrength</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">this.invalidText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors.TooWeak</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
+ }
</span><span class="jsdoc-var">console.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'strength2: ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-comment">//var pm = this.trigger.child('div/div/div').dom;
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.trigger.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'div/div'</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.meterClass</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">pm.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.meterClass</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">]);
+ </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">pm.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">]);
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.trigger.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'/div'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'>*[class=roo-password-meter-text]'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.dom</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-var">pt.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.meterLabel </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'&nbsp;' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.pwdStrengths</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-var">pt.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterLabel </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'&nbsp;' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.pwdStrengths</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">];
- </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
},
</span><span class="jsdoc-comment">// private
</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.IsLongEnough</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pwd</span><span class="jsdoc-syntax">, 6) || !</span><span class="jsdoc-var">this.IsLongEnough</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pwd</span><span class="jsdoc-syntax">, 0);
}
-});</span></code></body></html>
\ No newline at end of file
+});
+
+</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors </span><span class="jsdoc-syntax">= {
+ </span><span class="jsdoc-var">PwdEmpty</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Please type a password, and then retype it to confirm."</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">PwdShort</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password must be at least 6 characters long. Please type a different password."</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">PwdLong</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password can't contain more than 16 characters. Please type a different password."</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">PwdBadChar</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"The password contains characters that aren't allowed. Please type a different password."</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">IDInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password can't include the part of your ID. Please type a different password."</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">FNInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password can't contain your first name. Please type a different password."</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">LNInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password can't contain your last name. Please type a different password."</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">TooWeak</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Your password is Too Weak."
+</span><span class="jsdoc-syntax">};
+
+</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterLabel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"Password strength:"</span><span class="jsdoc-syntax">;
+</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.pwdStrengths </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-string">"Too Weak"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Weak"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Medium"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Strong"</span><span class="jsdoc-syntax">];
+</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass </span><span class="jsdoc-syntax">= [
+ </span><span class="jsdoc-string">"roo-password-meter-tooweak"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"roo-password-meter-weak"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"roo-password-meter-medium"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"roo-password-meter-strong"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"roo-password-meter-grey"
+</span><span class="jsdoc-syntax">];</span></code></body></html>
\ No newline at end of file