diff --git a/libs/tools/generator/components/src/passphrase-settings.component.html b/libs/tools/generator/components/src/passphrase-settings.component.html
index 4e073f34243..fe2bd375a19 100644
--- a/libs/tools/generator/components/src/passphrase-settings.component.html
+++ b/libs/tools/generator/components/src/passphrase-settings.component.html
@@ -12,6 +12,8 @@
{{ "options" | i18n }}
formControlName="numWords"
id="num-words"
type="number"
+ [min]="numWordsMin"
+ [max]="numWordsMax"
(change)="save('numWords')"
/>
{{ numWordsBoundariesHint$ | async }}
diff --git a/libs/tools/generator/components/src/passphrase-settings.component.ts b/libs/tools/generator/components/src/passphrase-settings.component.ts
index ae6a0f89966..478d875bca6 100644
--- a/libs/tools/generator/components/src/passphrase-settings.component.ts
+++ b/libs/tools/generator/components/src/passphrase-settings.component.ts
@@ -114,6 +114,9 @@ export class PassphraseSettingsComponent implements OnInit, OnDestroy {
this.wordSeparatorMaxLength = constraints.wordSeparator.maxLength;
this.policyInEffect = constraints.policyInEffect;
+ this.numWordsMin = constraints.numWords.min;
+ this.numWordsMax = constraints.numWords.max;
+
this.toggleEnabled(Controls.capitalize, !constraints.capitalize?.readonly);
this.toggleEnabled(Controls.includeNumber, !constraints.includeNumber?.readonly);
});
@@ -128,6 +131,12 @@ export class PassphraseSettingsComponent implements OnInit, OnDestroy {
.subscribe(settings);
}
+ /** attribute binding for numWords[min] */
+ protected numWordsMin: number;
+
+ /** attribute binding for numWords[max] */
+ protected numWordsMax: number;
+
/** attribute binding for wordSeparator[maxlength] */
protected wordSeparatorMaxLength: number;
diff --git a/libs/tools/generator/components/src/password-settings.component.html b/libs/tools/generator/components/src/password-settings.component.html
index 9f8e00921fb..145827446c6 100644
--- a/libs/tools/generator/components/src/password-settings.component.html
+++ b/libs/tools/generator/components/src/password-settings.component.html
@@ -7,7 +7,14 @@ {{ "options" | i18n }}
{{ "length" | i18n }}
-
+
{{ lengthBoundariesHint$ | async }}
@@ -71,7 +78,9 @@ {{ "options" | i18n }}
bitInput
type="number"
formControlName="minNumber"
- (change)="save('minNumbers')"
+ [min]="minNumberMin"
+ [max]="minNumberMax"
+ (change)="save('minNumber')"
/>
@@ -80,6 +89,8 @@ {{ "options" | i18n }}
bitInput
type="number"
formControlName="minSpecial"
+ [min]="minSpecialMin"
+ [max]="minSpecialMax"
(change)="save('minSpecial')"
/>
diff --git a/libs/tools/generator/components/src/password-settings.component.ts b/libs/tools/generator/components/src/password-settings.component.ts
index b512aa688fa..9fd528d973a 100644
--- a/libs/tools/generator/components/src/password-settings.component.ts
+++ b/libs/tools/generator/components/src/password-settings.component.ts
@@ -150,6 +150,13 @@ export class PasswordSettingsComponent implements OnInit, OnDestroy {
.subscribe(({ constraints }) => {
this.policyInEffect = constraints.policyInEffect;
+ this.lengthMin = constraints.length.min;
+ this.lengthMax = constraints.length.max;
+ this.minNumberMin = constraints.minNumber.min;
+ this.minNumberMax = constraints.minNumber.max;
+ this.minSpecialMin = constraints.minSpecial.min;
+ this.minSpecialMax = constraints.minSpecial.max;
+
const toggles = [
[Controls.length, constraints.length.min < constraints.length.max],
[Controls.uppercase, !constraints.uppercase?.readonly],
@@ -227,6 +234,24 @@ export class PasswordSettingsComponent implements OnInit, OnDestroy {
this.saveSettings.next(site);
}
+ /** attribute binding for length[min] */
+ protected lengthMin: number;
+
+ /** attribute binding for length[max] */
+ protected lengthMax: number;
+
+ /** attribute binding for minNumber[min] */
+ protected minNumberMin: number;
+
+ /** attribute binding for minNumber[max] */
+ protected minNumberMax: number;
+
+ /** attribute binding for minSpecial[min] */
+ protected minSpecialMin: number;
+
+ /** attribute binding for minSpecial[max] */
+ protected minSpecialMax: number;
+
/** display binding for enterprise policy notice */
protected policyInEffect: boolean;