Предлагаю вам прочитать эту документацию о валидаторах в Angular. Для создания пользовательских валидаторов: 1. Определите вашу форму и 2. создайте новый класс; который в этом случае называется AuthValidators
, где он содержит все ваши пользовательские валидаторы. Я назвал первый валидатор skillAndExpValidator
.
Вы можете не создавать пользовательский класс, а просто создать функцию skillAndExpValidator
, но это хорошая практика, чтобы все ваши валидаторы были в одном классе.
x.component .ts
this.form = this.fb.group({
.......
exp: ['', [AuthValidators.skillAndExpValidator()]]
skill: ['', [AuthValidators.skillAndExpValidator()]]
.......
})
.......
export class AuthValidators {
static skillAndExpValidator() {
return (group: FormGroup) => {
let exp = group.get('exp').value
let skill = group.get('exp').value
return exp == skill ? {expEqSkillError: true} : null
}
}
.......
x.component. html
.......
<span *ngIf="this.fb.get('exp').hasError('expEqSkillError')">ERROR: EXP SHOULDN'T BE EQUAL TO SKILL</span>
<span *ngIf="this.fb.get('skill').hasError('expEqSkillError')">ERROR: EXP SHOULDN'T BE EQUAL TO SKILL</span>
.......