AK
Size: a a a
AK
АО
this.form = fb.group({
name: ['', Validators.required],
email: ['', Validators.required]
matchingPassword: fb.group({
password: ['', Validators.required],
confirmPassword: ['', Validators.required]
}, {validator: this.areEqual}) <--------
});
AK
АО
AK
AK
АО
this.form = fb.group({
name: ['', Validators.required],
email: ['', Validators.required]
matchingPassword: fb.group({
password: ['', Validators.required],
confirmPassword: ['', Validators.required]
}, {validator: MYCustomValidators.areEqual }) <--------
});
AK
АО
AK
АО
AK
import {Directive, forwardRef} from '@angular/core'
import {NG_VALIDATORS, FormControl} from '@angular/forms'
function validateDomainFactory() {
return (c: FormControl) => {
let VALIDATION_REGEXP = /^([a-zA-Z0-9][a-zA-Z0-9-]+\.)?[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}$/i
return VALIDATION_REGEXP.test(c.value) ? null : {
validateDomain: {
valid: false
}
}
}
}
@Directive({
selector: '[validateDomain][ngModel],[validateDomain][formControl]',
providers: [
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DomainNameValidator), multi: true }
]
})
export class DomainNameValidator {
@Input() secondFiled: FormControl // <<<<--- сюда передаем второй контол от которого зависим
validator: Function
constructor(/*Dependency Injection here*/) {
this.validator = validateDomainFactory()
}
validate(c: FormControl) {
return this.validator(c)
}
}
AK
AK
AK
SФ
АО
AK
AK
AK