Compare commits
2 Commits
aaf6b58c82
...
b8b9170433
Author | SHA1 | Date |
---|---|---|
Igor Hrenowitsch Propisnov | b8b9170433 | |
Igor Hrenowitsch Propisnov | 58bf6a1bfa |
|
@ -27,6 +27,44 @@
|
|||
"prefix": "app",
|
||||
"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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -36,7 +74,14 @@
|
|||
"plugin:@angular-eslint/template/recommended",
|
||||
"plugin:@angular-eslint/template/accessibility"
|
||||
],
|
||||
"rules": {}
|
||||
"rules": {
|
||||
"@angular-eslint/template/elements-content": [
|
||||
"error",
|
||||
{
|
||||
"allowList": ["label"]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -20,7 +20,10 @@ import {
|
|||
import { ButtonModule } from 'primeng/button';
|
||||
import { CheckboxModule } from 'primeng/checkbox';
|
||||
import { PasswordModule } from 'primeng/password';
|
||||
import { customEmailValidator, customPasswordValidator } from '../../shared/validator';
|
||||
import {
|
||||
customEmailValidator,
|
||||
customPasswordValidator,
|
||||
} from '../../shared/validator';
|
||||
|
||||
type AuthAction = 'register' | 'signup';
|
||||
|
||||
|
@ -51,7 +54,7 @@ export class RegisterRootComponent implements OnInit {
|
|||
public passwordInvalid: WritableSignal<string | null> = signal(null);
|
||||
public termsInvalid: WritableSignal<string | null> = signal(null);
|
||||
|
||||
constructor(private readonly formBuilder: FormBuilder) {
|
||||
public constructor(private readonly formBuilder: FormBuilder) {
|
||||
effect(() => {
|
||||
if (this.form) {
|
||||
if (this.isRegisterSignal()) {
|
||||
|
@ -107,16 +110,16 @@ export class RegisterRootComponent implements OnInit {
|
|||
this.form = this.formBuilder.group({
|
||||
email: new FormControl('', {
|
||||
validators: [Validators.required, customEmailValidator()],
|
||||
updateOn: 'change'
|
||||
updateOn: 'change',
|
||||
}),
|
||||
password: new FormControl('', {
|
||||
validators: [Validators.required, customPasswordValidator()],
|
||||
updateOn: 'change'
|
||||
updateOn: 'change',
|
||||
}),
|
||||
terms: new FormControl(false, {
|
||||
validators: [Validators.requiredTrue],
|
||||
updateOn: 'change'
|
||||
})
|
||||
updateOn: 'change',
|
||||
}),
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -129,9 +132,15 @@ export class RegisterRootComponent implements OnInit {
|
|||
const emailControl = this.form?.get('email') as AbstractControl;
|
||||
emailControl.valueChanges.subscribe((value: string) => {
|
||||
if (value.length >= 4) {
|
||||
emailControl.setValidators([Validators.required, customEmailValidator()]);
|
||||
emailControl.setValidators([
|
||||
Validators.required,
|
||||
customEmailValidator(),
|
||||
]);
|
||||
} else {
|
||||
emailControl.setValidators([Validators.required, Validators.minLength(4)]);
|
||||
emailControl.setValidators([
|
||||
Validators.required,
|
||||
Validators.minLength(4),
|
||||
]);
|
||||
}
|
||||
emailControl.updateValueAndValidity({ emitEvent: false });
|
||||
});
|
||||
|
@ -140,9 +149,15 @@ export class RegisterRootComponent implements OnInit {
|
|||
const passwordControl = this.form?.get('password') as AbstractControl;
|
||||
passwordControl.valueChanges.subscribe((value: string) => {
|
||||
if (value.length >= 8) {
|
||||
passwordControl.setValidators([Validators.required, customPasswordValidator()]);
|
||||
passwordControl.setValidators([
|
||||
Validators.required,
|
||||
customPasswordValidator(),
|
||||
]);
|
||||
} else {
|
||||
passwordControl.setValidators([Validators.required, Validators.minLength(8)]);
|
||||
passwordControl.setValidators([
|
||||
Validators.required,
|
||||
Validators.minLength(8),
|
||||
]);
|
||||
}
|
||||
passwordControl.updateValueAndValidity({ emitEvent: false });
|
||||
});
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
export * from './email-validator';
|
||||
export * from './password-validator'
|
||||
export * from './password-validator';
|
||||
|
|
Loading…
Reference in New Issue