@@ -501,9 +501,15 @@ function onValidatePassword() {
501
501
/**
502
502
* Updates the displayed status for a requirement.
503
503
* @param {string } id The ID of the DOM element displaying the requirement status.
504
- * @param {boolean } status Whether the requirement is met.
504
+ * @param {boolean | undefined } status Whether the requirement is met.
505
505
*/
506
506
function setRequirementStatus ( id , status ) {
507
+ // Hide the requirement if the status does not include it.
508
+ if ( status === undefined ) {
509
+ $ ( id ) . hide ( ) ;
510
+ return ;
511
+ }
512
+
507
513
if ( status ) {
508
514
$ ( id ) . removeClass ( 'list-group-item-danger' ) ;
509
515
$ ( id ) . addClass ( 'list-group-item-success' ) ;
@@ -524,44 +530,36 @@ function onValidatePassword() {
524
530
$ ( '#password-validation-min-length' ) . text (
525
531
customStrengthOptions . minPasswordLength
526
532
) ;
527
- setRequirementStatus (
528
- '#password-validation-meets-min-length' ,
529
- status . meetsMinPasswordLength
530
- ) ;
531
533
}
532
534
if ( customStrengthOptions . maxPasswordLength ) {
533
535
$ ( '#password-validation-max-length' ) . text (
534
536
customStrengthOptions . maxPasswordLength
535
537
) ;
536
- setRequirementStatus (
537
- '#password-validation-meets-max-length' ,
538
- status . meetsMaxPasswordLength
539
- ) ;
540
- }
541
- if ( customStrengthOptions . containsLowercaseLetter ) {
542
- setRequirementStatus (
543
- '#password-validation-contains-lowercase' ,
544
- status . containsLowercaseLetter
545
- ) ;
546
- }
547
- if ( customStrengthOptions . containsUppercaseLetter ) {
548
- setRequirementStatus (
549
- '#password-validation-contains-uppercase' ,
550
- status . containsUppercaseLetter
551
- ) ;
552
- }
553
- if ( customStrengthOptions . containsNumericCharacter ) {
554
- setRequirementStatus (
555
- '#password-validation-contains-numeric' ,
556
- status . containsNumericCharacter
557
- ) ;
558
- }
559
- if ( customStrengthOptions . containsNonAlphanumericCharacter ) {
560
- setRequirementStatus (
561
- '#password-validation-contains-non-alphanumeric' ,
562
- status . containsNonAlphanumericCharacter
563
- ) ;
564
538
}
539
+ setRequirementStatus (
540
+ '#password-validation-meets-min-length' ,
541
+ status . meetsMinPasswordLength
542
+ ) ;
543
+ setRequirementStatus (
544
+ '#password-validation-meets-max-length' ,
545
+ status . meetsMaxPasswordLength
546
+ ) ;
547
+ setRequirementStatus (
548
+ '#password-validation-contains-lowercase' ,
549
+ status . containsLowercaseLetter
550
+ ) ;
551
+ setRequirementStatus (
552
+ '#password-validation-contains-uppercase' ,
553
+ status . containsUppercaseLetter
554
+ ) ;
555
+ setRequirementStatus (
556
+ '#password-validation-contains-numeric' ,
557
+ status . containsNumericCharacter
558
+ ) ;
559
+ setRequirementStatus (
560
+ '#password-validation-contains-non-alphanumeric' ,
561
+ status . containsNonAlphanumericCharacter
562
+ ) ;
565
563
566
564
$ ( '#password-validation-password' ) . prop ( 'disabled' , false ) ;
567
565
$ ( '#password-validation-requirements' ) . show ( ) ;
0 commit comments