feat(forms): Implement a way to manually set errors on a control
Example: var login = new Control("someLogin"); c.setErrors({"notUnique": true}); expect(c.valid).toEqual(false); expect(c.errors).toEqual({"notUnique": true}); c.updateValue("newLogin"); expect(c.valid).toEqual(true); BREAKING CHANGE: Before: ControlGroup.errors and ControlArray.errors returned a reduced value of their children controls' errors. After: ControlGroup.errors and ControlArray.errors return the errors of the group and array. And ControlGroup.controlsErrors and ControlArray.controlsErrors return the reduce value of their children controls' errors. Closes #4917
This commit is contained in:
@ -43,9 +43,11 @@ var NG_API = [
|
||||
'AbstractControl',
|
||||
'AbstractControl.dirty',
|
||||
'AbstractControl.errors',
|
||||
'AbstractControl.controlsErrors',
|
||||
'AbstractControl.find()',
|
||||
'AbstractControl.getError()',
|
||||
'AbstractControl.hasError()',
|
||||
'AbstractControl.setErrors()',
|
||||
'AbstractControl.markAsDirty()',
|
||||
'AbstractControl.markAsPending()',
|
||||
'AbstractControl.markAsTouched()',
|
||||
@ -55,7 +57,6 @@ var NG_API = [
|
||||
'AbstractControl.status',
|
||||
'AbstractControl.touched',
|
||||
'AbstractControl.untouched',
|
||||
'AbstractControl.updateValidity()',
|
||||
'AbstractControl.updateValueAndValidity()',
|
||||
'AbstractControl.valid',
|
||||
'AbstractControl.validator',
|
||||
@ -66,6 +67,7 @@ var NG_API = [
|
||||
'AbstractControlDirective.control',
|
||||
'AbstractControlDirective.dirty',
|
||||
'AbstractControlDirective.errors',
|
||||
'AbstractControlDirective.controlsErrors',
|
||||
'AbstractControlDirective.pristine',
|
||||
'AbstractControlDirective.touched',
|
||||
'AbstractControlDirective.untouched',
|
||||
@ -276,6 +278,7 @@ var NG_API = [
|
||||
'Control',
|
||||
'Control.dirty',
|
||||
'Control.errors',
|
||||
'Control.controlsErrors',
|
||||
'Control.find()',
|
||||
'Control.getError()',
|
||||
'Control.hasError()',
|
||||
@ -289,7 +292,6 @@ var NG_API = [
|
||||
'Control.status',
|
||||
'Control.touched',
|
||||
'Control.untouched',
|
||||
'Control.updateValidity()',
|
||||
'Control.updateValue()',
|
||||
'Control.updateValueAndValidity()',
|
||||
'Control.valid',
|
||||
@ -297,12 +299,14 @@ var NG_API = [
|
||||
'Control.validator=',
|
||||
'Control.value',
|
||||
'Control.valueChanges',
|
||||
'Control.setErrors()',
|
||||
'ControlArray',
|
||||
'ControlArray.at()',
|
||||
'ControlArray.controls',
|
||||
'ControlArray.controls=',
|
||||
'ControlArray.dirty',
|
||||
'ControlArray.errors',
|
||||
'ControlArray.controlsErrors',
|
||||
'ControlArray.find()',
|
||||
'ControlArray.getError()',
|
||||
'ControlArray.hasError()',
|
||||
@ -319,17 +323,18 @@ var NG_API = [
|
||||
'ControlArray.status',
|
||||
'ControlArray.touched',
|
||||
'ControlArray.untouched',
|
||||
'ControlArray.updateValidity()',
|
||||
'ControlArray.updateValueAndValidity()',
|
||||
'ControlArray.valid',
|
||||
'ControlArray.validator',
|
||||
'ControlArray.validator=',
|
||||
'ControlArray.value',
|
||||
'ControlArray.valueChanges',
|
||||
'ControlArray.setErrors()',
|
||||
'ControlContainer',
|
||||
'ControlContainer.control',
|
||||
'ControlContainer.dirty',
|
||||
'ControlContainer.errors',
|
||||
'ControlContainer.controlsErrors',
|
||||
'ControlContainer.formDirective',
|
||||
'ControlContainer.name',
|
||||
'ControlContainer.name=',
|
||||
@ -346,6 +351,7 @@ var NG_API = [
|
||||
'ControlGroup.controls=',
|
||||
'ControlGroup.dirty',
|
||||
'ControlGroup.errors',
|
||||
'ControlGroup.controlsErrors',
|
||||
'ControlGroup.exclude()',
|
||||
'ControlGroup.find()',
|
||||
'ControlGroup.getError()',
|
||||
@ -361,13 +367,13 @@ var NG_API = [
|
||||
'ControlGroup.status',
|
||||
'ControlGroup.touched',
|
||||
'ControlGroup.untouched',
|
||||
'ControlGroup.updateValidity()',
|
||||
'ControlGroup.updateValueAndValidity()',
|
||||
'ControlGroup.valid',
|
||||
'ControlGroup.validator',
|
||||
'ControlGroup.validator=',
|
||||
'ControlGroup.value',
|
||||
'ControlGroup.valueChanges',
|
||||
'ControlGroup.setErrors()',
|
||||
'CurrencyPipe',
|
||||
'CurrencyPipe.transform()',
|
||||
'CyclicDependencyError',
|
||||
@ -622,6 +628,7 @@ var NG_API = [
|
||||
'NgControl.control',
|
||||
'NgControl.dirty',
|
||||
'NgControl.errors',
|
||||
'NgControl.controlsErrors',
|
||||
'NgControl.name',
|
||||
'NgControl.name=',
|
||||
'NgControl.path',
|
||||
@ -638,6 +645,7 @@ var NG_API = [
|
||||
'NgControlGroup.control',
|
||||
'NgControlGroup.dirty',
|
||||
'NgControlGroup.errors',
|
||||
'NgControlGroup.controlsErrors',
|
||||
'NgControlGroup.formDirective',
|
||||
'NgControlGroup.name',
|
||||
'NgControlGroup.name=',
|
||||
@ -660,6 +668,7 @@ var NG_API = [
|
||||
'NgControlName.control',
|
||||
'NgControlName.dirty',
|
||||
'NgControlName.errors',
|
||||
'NgControlName.controlsErrors',
|
||||
'NgControlName.formDirective',
|
||||
'NgControlName.model',
|
||||
'NgControlName.model=',
|
||||
@ -694,6 +703,7 @@ var NG_API = [
|
||||
'NgForm.controls',
|
||||
'NgForm.dirty',
|
||||
'NgForm.errors',
|
||||
'NgForm.controlsErrors',
|
||||
'NgForm.form',
|
||||
'NgForm.form=',
|
||||
'NgForm.formDirective',
|
||||
@ -717,6 +727,7 @@ var NG_API = [
|
||||
'NgFormControl.control',
|
||||
'NgFormControl.dirty',
|
||||
'NgFormControl.errors',
|
||||
'NgFormControl.controlsErrors',
|
||||
'NgFormControl.form',
|
||||
'NgFormControl.form=',
|
||||
'NgFormControl.model',
|
||||
@ -748,6 +759,7 @@ var NG_API = [
|
||||
'NgFormModel.directives=',
|
||||
'NgFormModel.dirty',
|
||||
'NgFormModel.errors',
|
||||
'NgFormModel.controlsErrors',
|
||||
'NgFormModel.form',
|
||||
'NgFormModel.form=',
|
||||
'NgFormModel.formDirective',
|
||||
@ -774,6 +786,7 @@ var NG_API = [
|
||||
'NgModel.control',
|
||||
'NgModel.dirty',
|
||||
'NgModel.errors',
|
||||
'NgModel.controlsErrors',
|
||||
'NgModel.model',
|
||||
'NgModel.model=',
|
||||
'NgModel.name',
|
||||
|
Reference in New Issue
Block a user