|
523 | 523 | *
|
524 | 524 | */
|
525 | 525 | $.formUtils.addValidator({
|
526 |
| - name : 'content', |
527 |
| - validatorFunction : function(val, $el) { |
528 |
| - var require_uc = $el.valAttr('require-uc-letter') || '0', |
529 |
| - require_lc = $el.valAttr('require-lc-letter') || '0', |
530 |
| - require_sc = $el.valAttr('require-special-char') || '0', |
531 |
| - require_num = $el.valAttr('require-numeral') || '0', |
532 |
| - pattern_uc = '^(?=(?:.*[A-Z]){'+require_uc+',}).+', |
533 |
| - pattern_lc = '^(?=(?:.*[a-z]){'+require_lc+',}).+', |
534 |
| - pattern_sc = '^(?=(?:.*(_|[-+_!@#$%^&*?])){'+require_sc+',}).+', |
535 |
| - pattern_num = '^(?=(?:.*\\d){'+require_num+',}).+', |
536 |
| - message_error = 'Password must contain at least ', |
537 |
| - result_uc = false, |
538 |
| - result_lc = false, |
539 |
| - result_sc = false, |
540 |
| - result_num = false, |
| 526 | + name : 'complexity', |
| 527 | + validatorFunction : function(val, $el, conf, lang) { |
| 528 | + var numRequiredUppercaseChars = $el.valAttr('require-uc-letter') || '0', |
| 529 | + numRequiredLowercaseChars = $el.valAttr('require-lc-letter') || '0', |
| 530 | + numRequiredSpecialChars = $el.valAttr('require-special-char') || '0', |
| 531 | + numRequiredNumericChars = $el.valAttr('require-numeral') || '0', |
| 532 | + patternUpperCaseChars = '^(?=(?:.*[A-Z]){'+numRequiredUppercaseChars+',}).+', |
| 533 | + patternLowerCaseChars = '^(?=(?:.*[a-z]){'+numRequiredLowercaseChars+',}).+', |
| 534 | + patternSpecialChars = '^(?=(?:.*(_|[!"#$%&\'()*+\\\\,-./:;<=>?@[\\]^_`{|}~])){'+numRequiredSpecialChars+',}).+', |
| 535 | + patternNumericChars = '^(?=(?:.*\\d){'+numRequiredNumericChars+',}).+', |
| 536 | + resultRegExpRequiredUppercaseChars = false, |
| 537 | + resultRegExpRequiredLowercaseChars = false, |
| 538 | + resultRegExpRequiredSpecialChars = false, |
| 539 | + resultRegExpRequiredNumericChars = false, |
541 | 540 | error = false;
|
542 | 541 |
|
543 |
| - if (require_uc !== '0'){ |
544 |
| - result_uc = new RegExp(pattern_uc).test(val); |
| 542 | + if (numRequiredUppercaseChars !== '0'){ |
| 543 | + resultRegExpRequiredUppercaseChars = new RegExp(patternUpperCaseChars).test(val); |
545 | 544 | }
|
546 |
| - if (require_lc !== '0'){ |
547 |
| - result_lc = new RegExp(pattern_lc).test(val); |
| 545 | + if (numRequiredLowercaseChars !== '0'){ |
| 546 | + resultRegExpRequiredLowercaseChars = new RegExp(patternLowerCaseChars).test(val); |
548 | 547 | }
|
549 |
| - if (require_sc !== '0'){ |
550 |
| - result_sc = new RegExp(pattern_sc).test(val); |
| 548 | + if (numRequiredSpecialChars !== '0'){ |
| 549 | + resultRegExpRequiredSpecialChars = new RegExp(patternSpecialChars).test(val); |
551 | 550 | }
|
552 |
| - if (require_num !== '0'){ |
553 |
| - result_num = new RegExp(pattern_num).test(val); |
| 551 | + if (numRequiredNumericChars !== '0'){ |
| 552 | + resultRegExpRequiredNumericChars = new RegExp(patternNumericChars).test(val); |
554 | 553 | }
|
555 | 554 |
|
556 |
| - if (!result_uc){ |
| 555 | + if (!resultRegExpRequiredUppercaseChars){ |
557 | 556 | error = true;
|
558 |
| - message_error = message_error + require_uc + ' uppercase letter(s)'; |
| 557 | + message_error = lang.passwordComplexityStart + numRequiredUppercaseChars + lang.passwordComplexityUppercaseInfo; |
559 | 558 | }
|
560 |
| - if (!result_lc){ |
| 559 | + if (!resultRegExpRequiredLowercaseChars){ |
561 | 560 | if (error){
|
562 |
| - message_error = message_error + ', ' + require_lc + ' lowercase letter(s)'; |
| 561 | + message_error = message_error + lang.passwordComplexitySeparator + numRequiredLowercaseChars + lang.passwordComplexityLowercaseInfo; |
563 | 562 | }
|
564 | 563 | else{
|
565 | 564 | error = true;
|
566 |
| - message_error = message_error + require_lc + ' lowercase letter(s)'; |
| 565 | + message_error = lang.passwordComplexityStart + numRequiredLowercaseChars + lang.passwordComplexityLowercaseInfo; |
567 | 566 | }
|
568 | 567 | }
|
569 |
| - if (!result_sc){ |
| 568 | + if (!resultRegExpRequiredSpecialChars){ |
570 | 569 | if (error){
|
571 |
| - message_error = message_error + ', ' + require_sc + ' special character(s)'; |
| 570 | + message_error = message_error + lang.passwordComplexitySeparator + numRequiredSpecialChars + lang.passwordComplexitySpecialCharsInfo; |
572 | 571 | }
|
573 | 572 | else{
|
574 | 573 | error = true;
|
575 |
| - message_error = message_error + require_sc + ' special character(s)'; |
| 574 | + message_error = lang.passwordComplexityStart + numRequiredSpecialChars + lang.passwordComplexitySpecialCharsInfo; |
576 | 575 | }
|
577 | 576 | }
|
578 |
| - if (!result_num){ |
| 577 | + if (!resultRegExpRequiredNumericChars){ |
579 | 578 | if (error){
|
580 |
| - message_error = message_error + ', ' + require_num + ' numeric character(s)'; |
| 579 | + message_error = message_error + lang.passwordComplexitySeparator + numRequiredNumericChars + lang.passwordComplexityNumericCharsInfo; |
581 | 580 | }
|
582 | 581 | else{
|
583 |
| - message_error = message_error + require_num + ' numeric character(s)'; |
| 582 | + message_error = lang.passwordComplexityStart + numRequiredNumericChars + lang.passwordComplexityNumericCharsInfo; |
584 | 583 | }
|
585 | 584 | }
|
586 | 585 |
|
587 |
| - this.errorMessage = message_error + '.'; |
588 |
| - if(result_uc && result_lc && result_sc && result_num){ |
| 586 | + this.errorMessage = message_error + lang.passwordComplexityEnd; |
| 587 | + if(resultRegExpRequiredUppercaseChars && resultRegExpRequiredLowercaseChars && resultRegExpRequiredSpecialChars && resultRegExpRequiredNumericChars){ |
589 | 588 | return true;
|
590 | 589 | }
|
591 | 590 | return false;
|
|
0 commit comments