Compare commits

..

No commits in common. "b8b91704336827bbfcfd31376404ebba3a2ffc19" and "aaf6b58c8260afb1271744264c4edc1bdbc37a3f" have entirely different histories.

3 changed files with 12 additions and 72 deletions

View File

@ -27,44 +27,6 @@
"prefix": "app", "prefix": "app",
"style": "kebab-case" "style": "kebab-case"
} }
],
"@typescript-eslint/explicit-member-accessibility": [
"error",
{
"accessibility": "explicit"
}
],
"@typescript-eslint/explicit-function-return-type": [
"error",
{
"allowExpressions": false,
"allowTypedFunctionExpressions": true,
"allowHigherOrderFunctions": false,
"allowDirectConstAssertionInArrowFunctions": false,
"allowConciseArrowFunctionExpressionsStartingWithVoid": false
}
],
"@typescript-eslint/member-ordering": [
"error",
{
"default": [
"public-static-field",
"protected-static-field",
"private-static-field",
"public-instance-field",
"protected-instance-field",
"private-instance-field",
"public-constructor",
"protected-constructor",
"private-constructor",
"public-static-method",
"protected-static-method",
"private-static-method",
"public-instance-method",
"protected-instance-method",
"private-instance-method"
]
}
] ]
} }
}, },
@ -74,14 +36,7 @@
"plugin:@angular-eslint/template/recommended", "plugin:@angular-eslint/template/recommended",
"plugin:@angular-eslint/template/accessibility" "plugin:@angular-eslint/template/accessibility"
], ],
"rules": { "rules": {}
"@angular-eslint/template/elements-content": [
"error",
{
"allowList": ["label"]
}
]
}
} }
] ]
} }

View File

@ -20,10 +20,7 @@ import {
import { ButtonModule } from 'primeng/button'; import { ButtonModule } from 'primeng/button';
import { CheckboxModule } from 'primeng/checkbox'; import { CheckboxModule } from 'primeng/checkbox';
import { PasswordModule } from 'primeng/password'; import { PasswordModule } from 'primeng/password';
import { import { customEmailValidator, customPasswordValidator } from '../../shared/validator';
customEmailValidator,
customPasswordValidator,
} from '../../shared/validator';
type AuthAction = 'register' | 'signup'; type AuthAction = 'register' | 'signup';
@ -54,7 +51,7 @@ export class RegisterRootComponent implements OnInit {
public passwordInvalid: WritableSignal<string | null> = signal(null); public passwordInvalid: WritableSignal<string | null> = signal(null);
public termsInvalid: WritableSignal<string | null> = signal(null); public termsInvalid: WritableSignal<string | null> = signal(null);
public constructor(private readonly formBuilder: FormBuilder) { constructor(private readonly formBuilder: FormBuilder) {
effect(() => { effect(() => {
if (this.form) { if (this.form) {
if (this.isRegisterSignal()) { if (this.isRegisterSignal()) {
@ -110,16 +107,16 @@ export class RegisterRootComponent implements OnInit {
this.form = this.formBuilder.group({ this.form = this.formBuilder.group({
email: new FormControl('', { email: new FormControl('', {
validators: [Validators.required, customEmailValidator()], validators: [Validators.required, customEmailValidator()],
updateOn: 'change', updateOn: 'change'
}), }),
password: new FormControl('', { password: new FormControl('', {
validators: [Validators.required, customPasswordValidator()], validators: [Validators.required, customPasswordValidator()],
updateOn: 'change', updateOn: 'change'
}), }),
terms: new FormControl(false, { terms: new FormControl(false, {
validators: [Validators.requiredTrue], validators: [Validators.requiredTrue],
updateOn: 'change', updateOn: 'change'
}), })
}); });
} }
@ -132,15 +129,9 @@ export class RegisterRootComponent implements OnInit {
const emailControl = this.form?.get('email') as AbstractControl; const emailControl = this.form?.get('email') as AbstractControl;
emailControl.valueChanges.subscribe((value: string) => { emailControl.valueChanges.subscribe((value: string) => {
if (value.length >= 4) { if (value.length >= 4) {
emailControl.setValidators([ emailControl.setValidators([Validators.required, customEmailValidator()]);
Validators.required,
customEmailValidator(),
]);
} else { } else {
emailControl.setValidators([ emailControl.setValidators([Validators.required, Validators.minLength(4)]);
Validators.required,
Validators.minLength(4),
]);
} }
emailControl.updateValueAndValidity({ emitEvent: false }); emailControl.updateValueAndValidity({ emitEvent: false });
}); });
@ -149,15 +140,9 @@ export class RegisterRootComponent implements OnInit {
const passwordControl = this.form?.get('password') as AbstractControl; const passwordControl = this.form?.get('password') as AbstractControl;
passwordControl.valueChanges.subscribe((value: string) => { passwordControl.valueChanges.subscribe((value: string) => {
if (value.length >= 8) { if (value.length >= 8) {
passwordControl.setValidators([ passwordControl.setValidators([Validators.required, customPasswordValidator()]);
Validators.required,
customPasswordValidator(),
]);
} else { } else {
passwordControl.setValidators([ passwordControl.setValidators([Validators.required, Validators.minLength(8)]);
Validators.required,
Validators.minLength(8),
]);
} }
passwordControl.updateValueAndValidity({ emitEvent: false }); passwordControl.updateValueAndValidity({ emitEvent: false });
}); });

View File

@ -1,2 +1,2 @@
export * from './email-validator'; export * from './email-validator';
export * from './password-validator'; export * from './password-validator'