2 <!-- password_check.inc -->
5 var pattern_title = "";
6 var new_password_node_name = "[% new_password | html %]";
7 var category_selector = "[% category_selector | html %]";
8 var STRONG_MSG = _("Password must contain at least %s characters, including UPPERCASE, lowercase and numbers");
9 var WEAK_MSG = _("Password must contain at least %s characters");
11 if(category_selector && $('select'+category_selector).length) {
12 jQuery.validator.addMethod("password_strong", function(value, element){
13 var require_strong = $('select'+category_selector+' option:selected').data('pwdStrong');
14 var min_lenght = $('select'+category_selector+' option:selected').data('pwdLength');
15 var regex_text = require_strong?"(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{"+min_lenght+",}":".{"+min_lenght+",}";
16 var pattern_regex = new RegExp(regex_text);
17 return this.optional(element) || value == '****' || pattern_regex.test(value);
18 }, function(unused, element) {
19 var require_strong = $('select'+category_selector+' option:selected').data('pwdStrong');
20 var min_lenght = $('select'+category_selector+' option:selected').data('pwdLength');
21 return (require_strong?STRONG_MSG:WEAK_MSG).format(min_lenght)
24 [% IF RequireStrongPassword %]
25 pwd_title = STRONG_MSG.format([% minPasswordLength | html %]);
26 pattern_regex = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{[% minPasswordLength | html %],}/;
27 [% ELSIF minPasswordLength %]
28 pwd_title = WEAK_MSG.format([% minPasswordLength | html %]);
29 pattern_regex = /.{[% minPasswordLength | html %],}/;
31 jQuery.validator.addMethod("password_strong", function(value, element){
32 return this.optional(element) || value == '****' || pattern_regex.test(value);
35 jQuery.validator.addMethod("password_no_spaces", function(value, element){
36 return ( this.optional(element) || !value.match(/^\s/) && !value.match(/\s$/) );
37 }, _("Password contains leading and/or trailing spaces"));
38 jQuery.validator.addMethod("password_match", function(value, element){
39 var new_password_node = $("input[name='" + new_password_node_name + "']:first");
40 return value == $(new_password_node).val();
41 }, _("Please enter the same password as above"));
43 <!-- / password_check.inc -->