Compare commits
No commits in common. "b8b91704336827bbfcfd31376404ebba3a2ffc19" and "aaf6b58c8260afb1271744264c4edc1bdbc37a3f" have entirely different histories.
b8b9170433
...
aaf6b58c82
|
@ -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"]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 });
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
export * from './email-validator';
|
export * from './email-validator';
|
||||||
export * from './password-validator';
|
export * from './password-validator'
|
||||||
|
|
Loading…
Reference in New Issue