1、密码策略配置
2、重置密码对话框
3、密码校验相关代码
//查询密码策略 var url_pwd_policy = App.getRootUrl('/identity/v2.0/security-policies/'); var pwd_minlength = 6;//最短长度默认值 $.ajax({ type: "GET", async:false, url: url_pwd_policy+"pwd_minlength", success: function(data){ pwd_minlength = data.value; } }); var pwd_maxlength = 15;//最大长度默认值 $.ajax({ type: "GET", async:false, url: url_pwd_policy+"pwd_maxlength", success: function(data){ pwd_maxlength = data.value; } }); var pwd_include_num = false;//是否必须包含数字 $.ajax({ type: "GET", async:false, url: url_pwd_policy+"pwd_include_num", success: function(data){ pwd_include_num = data.value; } }); var pwd_include_lowercase_letter = false;//是否必须包含小写字母 $.ajax({ type: "GET", async:false, url: url_pwd_policy+"pwd_include_lowercase_letter", success: function(data){ pwd_include_lowercase_letter = data.value; } }); var pwd_include_uppercase_letter = false;//是否必须包含大写字母 $.ajax({ type: "GET", async:false, url: url_pwd_policy+"pwd_include_uppercase_letter", success: function(data){ pwd_include_uppercase_letter = data.value; } }); var pwd_include_special_char = false;//是否必须包含特殊字母 $.ajax({ type: "GET", async:false, url: url_pwd_policy+"pwd_include_special_char", success: function(data){ pwd_include_special_char = data.value; } }); //中文检测 var regChineseCode = new RegExp("[\\u4E00-\\u9FFF]+","g"); jQuery.validator.addMethod("isChineseCode", function(value, element) { return ! regChineseCode.test(value); }, "密码不允许使用中文"); //数字检测 var regNum = /[0-9]/; jQuery.validator.addMethod("includeNum", function(value, element) { return regNum.test(value); }, "必须包含数字"); //小写字母检测 var regLower = /[a-z]/; jQuery.validator.addMethod("includeLowercaseLetter", function(value, element) { return regLower.test(value); }, "必须包含小写字母"); //大写字母检测 var regUpper = /[A-Z]/; jQuery.validator.addMethod("includeUppercasecaseLetter", function(value, element) { return regUpper.test(value); }, "必须包含大写字母"); //特殊字符检测 var regSpecial = /[^A-Za-z0-9]/; jQuery.validator.addMethod("includeSpecialChar", function(value, element) { return regSpecial.test(value); }, "必须包含特殊字母"); //初始化校验配置项 var validateOpts = { errorContainer: $dialog, errorPlacement:"left bottom", rules: {}, messages: {} }; //原密码校验规则 validateOpts.rules['password'+suffix] = { required: true }; validateOpts.messages['password'+suffix] = { required: "请填写原密码" }; //新密码校验规则 validateOpts.rules['newPassword'+suffix] = { required: true, isChineseCode:true, minlength: pwd_minlength, maxlength: pwd_maxlength, notEqualTo: "#password"+suffix }; //根据 密码安全策略,动态添加的校验规则 if(pwd_include_lowercase_letter == 'true'){ (validateOpts.rules['newPassword'+suffix]).includeLowercaseLetter=true; } if(pwd_include_uppercase_letter == 'true'){ (validateOpts.rules['newPassword'+suffix]).includeUppercasecaseLetter=true; } if(pwd_include_special_char == 'true'){ (validateOpts.rules['newPassword'+suffix]).includeSpecialChar=true; } if(pwd_include_num == 'true'){ (validateOpts.rules['newPassword'+suffix]).includeNum=true; } //重写提示信息 validateOpts.messages['newPassword'+suffix] = { required: "请填写新密码", notEqualTo: "新密码不能与原密码相同" }; //确认密码校验规则 validateOpts.rules['confirmPassword'+suffix] = { required: true, isChineseCode:true, minlength: pwd_minlength, maxlength: pwd_maxlength, equalTo: "#newPassword"+suffix }; //根据 密码安全策略,动态添加的校验规则 if(pwd_include_lowercase_letter == 'true'){ (validateOpts.rules['confirmPassword'+suffix]).includeLowercaseLetter=true; } if(pwd_include_uppercase_letter == 'true'){ (validateOpts.rules['confirmPassword'+suffix]).includeUppercasecaseLetter=true; } if(pwd_include_special_char == 'true'){ (validateOpts.rules['confirmPassword'+suffix]).includeSpecialChar=true; } if(pwd_include_num == 'true'){ (validateOpts.rules['confirmPassword'+suffix]).includeNum=true; } //重写提示信息 validateOpts.messages['confirmPassword'+suffix] = { required: "请确认新密码", equalTo: "两次输入的密码不相同" }; //为表单绑定校验规则 var $form = $('#form-resetpwd'); $form.validate(validateOpts);