diff --git a/packages/forms/src/validators.ts b/packages/forms/src/validators.ts index 595be10e90..2db9118cd1 100644 --- a/packages/forms/src/validators.ts +++ b/packages/forms/src/validators.ts @@ -59,30 +59,6 @@ const EMAIL_REGEXP = * @stable */ export class Validators { - /** - * Validator that compares the value of the given FormControls - */ - static equalsTo(...fieldPaths: string[]): ValidatorFn { - return function(control: FormControl): {[key: string]: any} { - if (fieldPaths.length < 1) { - throw new Error('You must compare to at least 1 other field'); - } - - for (let fieldName of fieldPaths) { - let field = (control.parent).get(fieldName); - if (!field) { - throw new Error( - `Field: ${fieldName} undefined, are you sure that ${fieldName} exists in the group`); - } - - if (field.value !== control.value) { - return {'equalsTo': {'unequalField': fieldName}}; - } - } - return null; - }; - } - /** * Validator that requires controls to have a non-empty value. */ diff --git a/packages/forms/test/validators_spec.ts b/packages/forms/test/validators_spec.ts index 78d28126b2..8d2c5aad1f 100644 --- a/packages/forms/test/validators_spec.ts +++ b/packages/forms/test/validators_spec.ts @@ -38,44 +38,6 @@ export function main() { } describe('Validators', () => { - describe('equalsTo', () => { - it('should not error when equal', () => { - let group = new FormGroup({f1: new FormControl('a'), f2: new FormControl('a')}); - let validator = Validators.equalsTo('f2'); - expect(validator(group.controls['f1'])).toBeNull(); - }); - - it('should error when not equal', () => { - let group = new FormGroup({f1: new FormControl('a'), f2: new FormControl('b')}); - let validator = Validators.equalsTo('f2'); - expect(validator(group.controls['f1'])).toEqual({equalsTo: {unequalField: 'f2'}}); - }); - - it('should throw if passed a form control', () => { - let validator = Validators.equalsTo('f1', 'f2'); - // cast it to any so we don't get TS errors - expect(() => validator(new FormGroup({f1: new FormControl('')}))).toThrow(); - }); - - it('should throw if passed a form array', () => { - let validator = Validators.equalsTo('f1', 'f2'); - // cast it to any so we don't get TS errors - expect(() => validator(new FormArray([]))).toThrow(); - }); - - it('should throw if not passed any field to compare', () => { - let validator = Validators.equalsTo(); - expect(() => validator(new FormControl('a'))).toThrow(); - }); - - it('should throw if field passed does not exist in the group', () => { - let group = new FormGroup({f1: new FormControl('a'), f2: new FormControl('b')}); - let validator = Validators.equalsTo('f3', 'f4'); - // cast it to any so we don't get TS errors - expect(() => validator(new FormControl('a'))).toThrow(); - }); - }); - describe('required', () => { it('should error on an empty string', () => { expect(Validators.required(new FormControl(''))).toEqual({'required': true}); }); diff --git a/tools/public_api_guard/forms/typings/forms.d.ts b/tools/public_api_guard/forms/typings/forms.d.ts index 79f72f8f62..3b8461d601 100644 --- a/tools/public_api_guard/forms/typings/forms.d.ts +++ b/tools/public_api_guard/forms/typings/forms.d.ts @@ -554,7 +554,6 @@ export declare class Validators { static email(control: AbstractControl): { [key: string]: boolean; }; - static equalsTo(...fieldPaths: string[]): ValidatorFn; static maxLength(maxLength: number): ValidatorFn; static minLength(minLength: number): ValidatorFn; static nullValidator(c: AbstractControl): {