fix(forms): rename validator change fn due to conflict (#11492)
Closes #11479
This commit is contained in:
@ -67,21 +67,22 @@ export function setUpControl(control: FormControl, dir: NgControl): void {
|
||||
|
||||
// re-run validation when validator binding changes, e.g. minlength=3 -> minlength=4
|
||||
dir._rawValidators.forEach((validator: Validator | ValidatorFn) => {
|
||||
if ((<Validator>validator).registerOnChange)
|
||||
(<Validator>validator).registerOnChange(() => control.updateValueAndValidity());
|
||||
if ((<Validator>validator).registerOnValidatorChange)
|
||||
(<Validator>validator).registerOnValidatorChange(() => control.updateValueAndValidity());
|
||||
});
|
||||
|
||||
dir._rawAsyncValidators.forEach((validator: Validator | ValidatorFn) => {
|
||||
if ((<Validator>validator).registerOnChange)
|
||||
(<Validator>validator).registerOnChange(() => control.updateValueAndValidity());
|
||||
if ((<Validator>validator).registerOnValidatorChange)
|
||||
(<Validator>validator).registerOnValidatorChange(() => control.updateValueAndValidity());
|
||||
});
|
||||
}
|
||||
|
||||
export function cleanUpControl(control: FormControl, dir: NgControl) {
|
||||
dir.valueAccessor.registerOnChange(() => _noControlError(dir));
|
||||
dir.valueAccessor.registerOnTouched(() => _noControlError(dir));
|
||||
dir._rawValidators.forEach((validator: Validator) => validator.registerOnChange(null));
|
||||
dir._rawAsyncValidators.forEach((validator: Validator) => validator.registerOnChange(null));
|
||||
dir._rawValidators.forEach((validator: Validator) => validator.registerOnValidatorChange(null));
|
||||
dir._rawAsyncValidators.forEach(
|
||||
(validator: Validator) => validator.registerOnValidatorChange(null));
|
||||
if (control) control._clearChangeFns();
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ import {NG_VALIDATORS, Validators} from '../validators';
|
||||
*/
|
||||
export interface Validator {
|
||||
validate(c: AbstractControl): {[key: string]: any};
|
||||
registerOnChange?(fn: () => void): void;
|
||||
registerOnValidatorChange?(fn: () => void): void;
|
||||
}
|
||||
|
||||
export const REQUIRED_VALIDATOR: any = {
|
||||
@ -77,7 +77,7 @@ export class RequiredValidator implements Validator {
|
||||
return this.required ? Validators.required(c) : null;
|
||||
}
|
||||
|
||||
registerOnChange(fn: () => void) { this._onChange = fn; }
|
||||
registerOnValidatorChange(fn: () => void) { this._onChange = fn; }
|
||||
}
|
||||
|
||||
/**
|
||||
@ -138,7 +138,7 @@ export class MinLengthValidator implements Validator,
|
||||
return isPresent(this.minlength) ? this._validator(c) : null;
|
||||
}
|
||||
|
||||
registerOnChange(fn: () => void) { this._onChange = fn; }
|
||||
registerOnValidatorChange(fn: () => void) { this._onChange = fn; }
|
||||
}
|
||||
|
||||
/**
|
||||
@ -188,7 +188,7 @@ export class MaxLengthValidator implements Validator,
|
||||
return isPresent(this.maxlength) ? this._validator(c) : null;
|
||||
}
|
||||
|
||||
registerOnChange(fn: () => void) { this._onChange = fn; }
|
||||
registerOnValidatorChange(fn: () => void) { this._onChange = fn; }
|
||||
}
|
||||
|
||||
|
||||
@ -237,5 +237,5 @@ export class PatternValidator implements Validator,
|
||||
return isPresent(this.pattern) ? this._validator(c) : null;
|
||||
}
|
||||
|
||||
registerOnChange(fn: () => void) { this._onChange = fn; }
|
||||
registerOnValidatorChange(fn: () => void) { this._onChange = fn; }
|
||||
}
|
||||
|
Reference in New Issue
Block a user