EasyUI Forum
April 25, 2024, 11:58:04 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: [SOLVED]Dynamic mesage in validator  (Read 1452 times)
jega
Full Member
***
Posts: 190


View Profile
« on: May 18, 2022, 03:04:57 PM »

Hi.

Have this extended validType. It work fine, but i want having the message matching the 4 cases

Tried several things, but with no luck.  

validType: 'passwordCheck[4,8]',

$.extend($.fn.validatebox.defaults.rules, {
   passwordCheck: {
      validator: function(value,param){
         var checkType = parseInt(param[0]);
         var minChars = parseInt(param[1]);
         switch (checkType){
            case 1:
               //Minimum [minChars] characters, at least one letter, lower or upper case :
               var patt = new RegExp("^(?=.*?[a-zA-Z]).{"+minChars+",}$")
               var res = patt.test(value)
               return res;
               break
            case 2:
               //Minimum [minChars] characters, at least one letter (lower/upper) and one number:
               var patt = new RegExp("^(?=.*?[a-zA-Z])(?=.*?[0-9]).{"+minChars+",}$")
               var res = patt.test(value)
               return res;
               break
            case 3:
               //Minimum [minChars] characters, at least one letter and one Upper case:
               var patt = new RegExp("^(?=.*?[a-z])(?=.*?[A-Z]).{"+minChars+",}$")
               var res = patt.test(value)
               return res;
               break
            case 4:
               //Minimum [minChars] characters, at least one letter and one Upper case and one number:
               var patt = new RegExp("^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9]).{"+minChars+",}$")
               var res = patt.test(value)
               return res;
               break
         }
      },
      message: 'Minimum {1} characters, at least one letter, one Upper case and one number'
   }
})


Regards
Jesper
« Last Edit: May 19, 2022, 12:02:39 AM by jega » Logged
jarry
Administrator
Hero Member
*****
Posts: 2262


View Profile Email
« Reply #1 on: May 18, 2022, 08:34:46 PM »

Please try this code.
Code:
$.extend($.fn.validatebox.defaults.rules, {
passwordCheck: {
validator: function (value, param) {
var checkType = parseInt(param[0]);
var minChars = parseInt(param[1]);
switch (checkType) {
case 1:
//Minimum [minChars] characters, at least one letter, lower or upper case :
var patt = new RegExp("^(?=.*?[a-zA-Z]).{" + minChars + ",}$")
var res = patt.test(value)
$.fn.validatebox.defaults.rules.passwordCheck.message = 'Minimum {1} characters, at least one letter, lower or upper case'
return res;
break
case 2:
//Minimum [minChars] characters, at least one letter (lower/upper) and one number:
var patt = new RegExp("^(?=.*?[a-zA-Z])(?=.*?[0-9]).{" + minChars + ",}$")
var res = patt.test(value)
$.fn.validatebox.defaults.rules.passwordCheck.message = 'Minimum {1} characters, at least one letter (lower/upper) and one number'
return res;
break
case 3:
//Minimum [minChars] characters, at least one letter and one Upper case:
var patt = new RegExp("^(?=.*?[a-z])(?=.*?[A-Z]).{" + minChars + ",}$")
var res = patt.test(value)
$.fn.validatebox.defaults.rules.passwordCheck.message = 'Minimum {1} characters, at least one letter and one Upper case'
return res;
break
case 4:
//Minimum [minChars] characters, at least one letter and one Upper case and one number:
var patt = new RegExp("^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9]).{" + minChars + ",}$")
var res = patt.test(value)
$.fn.validatebox.defaults.rules.passwordCheck.message = 'Minimum {1} characters, at least one letter and one Upper case and one number'
return res;
break
}
},
message: 'Minimum {1} characters, at least one letter, one Upper case and one number'
}
})
Logged
jega
Full Member
***
Posts: 190


View Profile
« Reply #2 on: May 19, 2022, 12:02:16 AM »

Hi Jarry.

Thanks for solution.

Works exactly as expected.


Jesper
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!