fix(forms): rename validator change fn due to conflict (#11492)

Closes #11479
This commit is contained in:
Kara
2016-09-09 14:09:11 -07:00
committed by Evan Martin
parent 0bce3907b8
commit 53f0c2206d
4 changed files with 33 additions and 23 deletions

View File

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

View File

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