Compare commits

...

2 Commits

Author SHA1 Message Date
Igor Hrenowitsch Propisnov b8b9170433 remove unsed type 2024-05-17 12:52:19 +02:00
Igor Hrenowitsch Propisnov 58bf6a1bfa added es lint and run prettier 2024-05-17 12:50:59 +02:00
3 changed files with 72 additions and 12 deletions

View File

@ -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"]
}
]
}
}
]
}

View File

@ -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 });
});

View File

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