5 lines
189 KiB
JSON
5 lines
189 KiB
JSON
{
|
|
"id": "api/forms/AbstractControl",
|
|
"title": "AbstractControl",
|
|
"contents": "\n\n<article>\n <div class=\"breadcrumb-container\">\n <div class=\"breadcrumb\">\n <script type=\"application/ld+json\">\n {\n \"@context\": \"http://schema.org\",\n \"@type\": \"BreadcrumbList\",\n \"itemListElement\": [\n { \"@type\": \"ListItem\", \"position\": 1, \"item\": { \"@id\": \"https://angular.io//api\", \"name\": \"API\" } },\n { \"@type\": \"ListItem\", \"position\": 2, \"item\": { \"@id\": \"https://angular.io/api/forms\", \"name\": \"@angular/forms\" } },\n { \"@type\": \"ListItem\", \"position\": 3, \"item\": { \"@id\": \"https://angular.io/api/forms/AbstractControl\", \"name\": \"AbstractControl\" } }\n ]\n }\n </script>\n <a href=\"/api\">API</a> > <a href=\"api/forms\">@angular/forms</a>\n </div>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L138-L1034\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L138-L1034\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n \n <header class=\"api-header\">\n <h1 id=\"abstractcontrol\">AbstractControl<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#abstractcontrol\"><i class=\"material-icons\">link</i></a></h1>\n \n <label class=\"api-type-label class\">class</label>\n \n \n \n </header>\n \n <aio-toc class=\"embedded\"></aio-toc>\n\n <div class=\"api-body\">\n \n <section class=\"short-description\">\n <p>This is the base class for <code><a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a></code>, <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>, and <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code>.</p>\n\n <p><a href=\"api/forms/AbstractControl#description\">See more...</a></p>\n </section>\n \n \n \n <section class=\"class-overview\">\n<code-example language=\"ts\" hidecopy=\"true\">\nabstract class <a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a> {\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#constructor()\"><span class=\"member-name\">constructor</span>(validators: ValidatorFn | ValidatorFn[], asyncValidators: AsyncValidatorFn | AsyncValidatorFn[])</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#value\"><span class=\"member-name\">value</span>: any</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#validator\"><span class=\"member-name\">validator</span>: ValidatorFn | null</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#asyncValidator\"><span class=\"member-name\">asyncValidator</span>: AsyncValidatorFn | null</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#parent\"><span class=\"member-name\">parent</span>: FormGroup | FormArray | null</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#status\"><span class=\"member-name\">status</span>: string</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#valid\"><span class=\"member-name\">valid</span>: boolean</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#invalid\"><span class=\"member-name\">invalid</span>: boolean</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#pending\"><span class=\"member-name\">pending</span>: boolean</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#disabled\"><span class=\"member-name\">disabled</span>: boolean</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#enabled\"><span class=\"member-name\">enabled</span>: boolean</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#errors\"><span class=\"member-name\">errors</span>: ValidationErrors | null</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#pristine\"><span class=\"member-name\">pristine</span>: boolean</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#dirty\"><span class=\"member-name\">dirty</span>: boolean</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#touched\"><span class=\"member-name\">touched</span>: boolean</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#untouched\"><span class=\"member-name\">untouched</span>: boolean</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#valueChanges\"><span class=\"member-name\">valueChanges</span>: Observable<any></a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#statusChanges\"><span class=\"member-name\">statusChanges</span>: Observable<any></a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#updateOn\"><span class=\"member-name\">updateOn</span>: FormHooks</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#root\"><span class=\"member-name\">root</span>: AbstractControl</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#setValidators\"><span class=\"member-name\">setValidators</span>(newValidator: ValidatorFn | ValidatorFn[]): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#setAsyncValidators\"><span class=\"member-name\">setAsyncValidators</span>(newValidator: AsyncValidatorFn | AsyncValidatorFn[]): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#clearValidators\"><span class=\"member-name\">clearValidators</span>(): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#clearAsyncValidators\"><span class=\"member-name\">clearAsyncValidators</span>(): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#markAsTouched\"><span class=\"member-name\">markAsTouched</span>(opts: { onlySelf?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#markAllAsTouched\"><span class=\"member-name\">markAllAsTouched</span>(): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#markAsUntouched\"><span class=\"member-name\">markAsUntouched</span>(opts: { onlySelf?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#markAsDirty\"><span class=\"member-name\">markAsDirty</span>(opts: { onlySelf?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#markAsPristine\"><span class=\"member-name\">markAsPristine</span>(opts: { onlySelf?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#markAsPending\"><span class=\"member-name\">markAsPending</span>(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#disable\"><span class=\"member-name\">disable</span>(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#enable\"><span class=\"member-name\">enable</span>(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#setParent\"><span class=\"member-name\">setParent</span>(parent: FormGroup | FormArray): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#setValue\">abstract <span class=\"member-name\">setValue</span>(value: any, options?: Object): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#patchValue\">abstract <span class=\"member-name\">patchValue</span>(value: any, options?: Object): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#reset\">abstract <span class=\"member-name\">reset</span>(value?: any, options?: Object): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#updateValueAndValidity\"><span class=\"member-name\">updateValueAndValidity</span>(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#setErrors\"><span class=\"member-name\">setErrors</span>(errors: ValidationErrors, opts: { emitEvent?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#get\"><span class=\"member-name\">get</span>(path: string | (string | number)[]): AbstractControl | null</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#getError\"><span class=\"member-name\">getError</span>(errorCode: string, path?: string | (string | number)[]): any</a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#hasError\"><span class=\"member-name\">hasError</span>(errorCode: string, path?: string | (string | number)[]): boolean</a>\n}\n</code-example>\n\n \n \n <div class=\"descendants class\">\n <h2 id=\"subclasses\">Subclasses<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#subclasses\"><i class=\"material-icons\">link</i></a></h2>\n \n\n<ul>\n \n <li>\n <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code>\n \n\n\n </li>\n \n <li>\n <code><a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a></code>\n \n\n\n </li>\n \n <li>\n <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>\n \n\n\n </li>\n \n</ul>\n\n\n </div>\n \n\n</section>\n\n\n \n<section class=\"see-also\">\n <h2 id=\"see-also\">See also<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#see-also\"><i class=\"material-icons\">link</i></a></h2>\n <ul>\n \n <li><p><a href=\"/guide/forms\">Forms Guide</a></p>\n</li>\n <li><p><a href=\"/guide/reactive-forms\">Reactive Forms Guide</a></p>\n</li>\n <li><p><a href=\"/guide/dynamic-form\">Dynamic Forms Guide</a></p>\n</li>\n </ul>\n</section>\n\n\n \n \n<section class=\"description\">\n <h2 id=\"description\">Description<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#description\"><i class=\"material-icons\">link</i></a></h2>\n <p>It provides some of the shared behavior that all controls and groups of controls have, like\nrunning validators, calculating status, and resetting state. It also defines the properties\nthat are shared between all sub-classes, like <code>value</code>, <code>valid</code>, and <code>dirty</code>. It shouldn't be\ninstantiated directly.</p>\n\n \n</section>\n\n \n\n\n\n\n\n\n<h2 id=\"constructor\">Constructor<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#constructor\"><i class=\"material-icons\">link</i></a></h2>\n<a id=\"constructor()\"></a>\n<table class=\"is-full-width method-table constructor\">\n \n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Initialize the AbstractControl instance.</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">constructor</span>(validators: <a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a> | <a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a>[], asyncValidators: <a href=\"api/forms/AsyncValidatorFn\" class=\"code-anchor\">AsyncValidatorFn</a> | <a href=\"api/forms/AsyncValidatorFn\" class=\"code-anchor\">AsyncValidatorFn</a>[])</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table constructor-overload-parameters\">\n <tbody>\n \n <tr class=\"constructor-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>validators</code>\n </td>\n <td class=\"param-type\"><code><a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a> | <a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a>[]</code></td>\n <td class=\"param-description\">\n <p>The function or array of functions that is used to determine the validity of\nthis control synchronously.</p>\n\n </td>\n </tr>\n <tr class=\"constructor-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>asyncValidators</code>\n </td>\n <td class=\"param-type\"><code><a href=\"api/forms/AsyncValidatorFn\" class=\"code-anchor\">AsyncValidatorFn</a> | <a href=\"api/forms/AsyncValidatorFn\" class=\"code-anchor\">AsyncValidatorFn</a>[]</code></td>\n <td class=\"param-description\">\n <p>The function or array of functions that is used to determine validity of\nthis control asynchronously.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n \n\n \n </tbody>\n</table>\n\n\n\n\n<section class=\"instance-properties\">\n <h2 id=\"properties\">Properties<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#properties\"><i class=\"material-icons\">link</i></a></h2>\n <table class=\"is-full-width list-table property-table\">\n <thead>\n <tr>\n <th>Property</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"value\"></a>\n <code class=\"\"><span class=\"member-name\">value</span>: any</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>The current value of the control.</p>\n\n <ul>\n<li>For a <code><a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a></code>, the current value.</li>\n<li>For an enabled <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>, the values of enabled controls as an object\nwith a key-value pair for each member of the group.</li>\n<li>For a disabled <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>, the values of all controls as an object\nwith a key-value pair for each member of the group.</li>\n<li>For a <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code>, the values of enabled controls as an array.</li>\n</ul>\n\n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"validator\"></a>\n <code class=\"\"><span class=\"member-name\">validator</span>: <a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a> | null</code>\n </td>\n <td>\n \n <p>The function that is used to determine the validity of this control synchronously.</p>\n\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"asyncValidator\"></a>\n <code class=\"\"><span class=\"member-name\">asyncValidator</span>: <a href=\"api/forms/AsyncValidatorFn\" class=\"code-anchor\">AsyncValidatorFn</a> | null</code>\n </td>\n <td>\n \n <p>The function that is used to determine the validity of this control asynchronously.</p>\n\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"parent\"></a>\n <code class=\"\"><span class=\"member-name\">parent</span>: <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a> | <a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a> | null</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>The parent control.</p>\n\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"status\"></a>\n <code class=\"\"><span class=\"member-name\">status</span>: string</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>The validation status of the control. There are four possible\nvalidation status values:</p>\n\n <ul>\n<li><strong>VALID</strong>: This control has passed all validation checks.</li>\n<li><strong>INVALID</strong>: This control has failed at least one validation check.</li>\n<li><strong>PENDING</strong>: This control is in the midst of conducting a validation check.</li>\n<li><strong>DISABLED</strong>: This control is exempt from validation checks.</li>\n</ul>\n<p>These status values are mutually exclusive, so a control cannot be\nboth valid AND invalid or invalid AND disabled.</p>\n\n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"valid\"></a>\n <code class=\"\"><span class=\"member-name\">valid</span>: boolean</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>A control is <code>valid</code> when its <code>status</code> is <code>VALID</code>.</p>\n\n \n <p>See also:</p>\n <ul>\n \n <li><a href=\"api/forms/AbstractControl#status\"><code>status</code></a>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"invalid\"></a>\n <code class=\"\"><span class=\"member-name\">invalid</span>: boolean</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>A control is <code>invalid</code> when its <code>status</code> is <code>INVALID</code>.</p>\n\n \n <p>See also:</p>\n <ul>\n \n <li><a href=\"api/forms/AbstractControl#status\"><code>status</code></a>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"pending\"></a>\n <code class=\"\"><span class=\"member-name\">pending</span>: boolean</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>A control is <code>pending</code> when its <code>status</code> is <code>PENDING</code>.</p>\n\n \n <p>See also:</p>\n <ul>\n \n <li><a href=\"api/forms/AbstractControl#status\"><code>status</code></a>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"disabled\"></a>\n <code class=\"\"><span class=\"member-name\">disabled</span>: boolean</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>A control is <code>disabled</code> when its <code>status</code> is <code>DISABLED</code>.</p>\n\n <p>Disabled controls are exempt from validation checks and\nare not included in the aggregate value of their ancestor\ncontrols.</p>\n\n <p>See also:</p>\n <ul>\n \n <li><a href=\"api/forms/AbstractControl#status\"><code>status</code></a>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"enabled\"></a>\n <code class=\"\"><span class=\"member-name\">enabled</span>: boolean</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>A control is <code>enabled</code> as long as its <code>status</code> is not <code>DISABLED</code>.</p>\n\n \n <p>See also:</p>\n <ul>\n \n <li><a href=\"api/forms/AbstractControl#status\"><code>status</code></a>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"errors\"></a>\n <code class=\"\"><span class=\"member-name\">errors</span>: <a href=\"api/forms/ValidationErrors\" class=\"code-anchor\">ValidationErrors</a> | null</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>An object containing any errors generated by failing validation,\nor null if there are no errors.</p>\n\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"pristine\"></a>\n <code class=\"\"><span class=\"member-name\">pristine</span>: boolean</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>A control is <code>pristine</code> if the user has not yet changed\nthe value in the UI.</p>\n\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"dirty\"></a>\n <code class=\"\"><span class=\"member-name\">dirty</span>: boolean</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>A control is <code>dirty</code> if the user has changed the value\nin the UI.</p>\n\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"touched\"></a>\n <code class=\"\"><span class=\"member-name\">touched</span>: boolean</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>True if the control is marked as <code>touched</code>.</p>\n\n <p>A control is marked <code>touched</code> once the user has triggered\na <code>blur</code> event on it.</p>\n\n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"untouched\"></a>\n <code class=\"\"><span class=\"member-name\">untouched</span>: boolean</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>True if the control has not been marked as touched</p>\n\n <p>A control is <code>untouched</code> if the user has not yet triggered\na <code>blur</code> event on it.</p>\n\n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"valueChanges\"></a>\n <code class=\"\"><span class=\"member-name\">valueChanges</span>: Observable<any></code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>A multicasting observable that emits an event every time the value of the control changes, in\nthe UI or programmatically. It also emits an event each time you call enable() or disable()\nwithout passing along {emitEvent: false} as a function argument.</p>\n\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"statusChanges\"></a>\n <code class=\"\"><span class=\"member-name\">statusChanges</span>: Observable<any></code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>A multicasting observable that emits an event every time the validation <code>status</code> of the control\nrecalculates.</p>\n\n \n <p>See also:</p>\n <ul>\n \n <li><a href=\"api/forms/AbstractControl#status\"><code>status</code></a>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"updateOn\"></a>\n <code class=\"\"><span class=\"member-name\">updateOn</span>: FormHooks</code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>Reports the update strategy of the <code><a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a></code> (meaning\nthe event on which the control updates itself).\nPossible values: <code>'change'</code> | <code>'blur'</code> | <code>'submit'</code>\nDefault value: <code>'change'</code></p>\n\n \n </td>\n </tr>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"root\"></a>\n <code class=\"\"><span class=\"member-name\">root</span>: <a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a></code>\n </td>\n <td><span class=\"read-only-property\">Read-Only</span>\n \n <p>Retrieves the top-level ancestor of this control.</p>\n\n \n </td>\n </tr>\n \n </tbody>\n </table>\n</section>\n\n\n\n<section class=\"instance-methods\">\n <h2 id=\"methods\">Methods<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#methods\"><i class=\"material-icons\">link</i></a></h2>\n \n <a id=\"setValidators\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"setvalidators\">\n setValidators()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#setvalidators\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L425-L437\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L425-L437\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Sets the synchronous validators that are active on this control. Calling\nthis overwrites any existing sync validators.</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">setValidators</span>(newValidator: <a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a> | <a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a>[]): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-1\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>newValidator</code>\n </td>\n <td class=\"param-type\"><code><a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a> | <a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a>[]</code></td>\n <td class=\"param-description\">\n \n \n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>When you add or remove a validator at run time, you must call\n<code>updateValueAndValidity()</code> for the new validation to take effect.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"setAsyncValidators\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"setasyncvalidators\">\n setAsyncValidators()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#setasyncvalidators\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L438-L450\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L438-L450\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Sets the async validators that are active on this control. Calling this\noverwrites any existing async validators.</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">setAsyncValidators</span>(newValidator: <a href=\"api/forms/AsyncValidatorFn\" class=\"code-anchor\">AsyncValidatorFn</a> | <a href=\"api/forms/AsyncValidatorFn\" class=\"code-anchor\">AsyncValidatorFn</a>[]): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-2\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>newValidator</code>\n </td>\n <td class=\"param-type\"><code><a href=\"api/forms/AsyncValidatorFn\" class=\"code-anchor\">AsyncValidatorFn</a> | <a href=\"api/forms/AsyncValidatorFn\" class=\"code-anchor\">AsyncValidatorFn</a>[]</code></td>\n <td class=\"param-description\">\n \n \n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-1\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>When you add or remove a validator at run time, you must call\n<code>updateValueAndValidity()</code> for the new validation to take effect.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"clearValidators\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"clearvalidators\">\n clearValidators()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#clearvalidators\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L451-L461\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L451-L461\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Empties out the sync validator list.</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">clearValidators</span>(): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-3\">Parameters</h6>\n <p>There are no parameters.</p>\n\n \n <h6 class=\"no-anchor\" id=\"returns-2\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>When you add or remove a validator at run time, you must call\n<code>updateValueAndValidity()</code> for the new validation to take effect.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"clearAsyncValidators\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"clearasyncvalidators\">\n clearAsyncValidators()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#clearasyncvalidators\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L462-L472\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L462-L472\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Empties out the async validator list.</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">clearAsyncValidators</span>(): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-4\">Parameters</h6>\n <p>There are no parameters.</p>\n\n \n <h6 class=\"no-anchor\" id=\"returns-3\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>When you add or remove a validator at run time, you must call\n<code>updateValueAndValidity()</code> for the new validation to take effect.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"markAsTouched\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"markastouched\">\n markAsTouched()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#markastouched\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L473-L493\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L473-L493\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Marks the control as <code>touched</code>. A control is touched by focus and\nblur events that do not change the value.</p>\n\n <p>See also:</p>\n <ul>\n \n <li><p><code>markAsUntouched()</code></p>\n</li>\n <li><p><code>markAsDirty()</code></p>\n</li>\n <li><p><code>markAsPristine()</code></p>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">markAsTouched</span>(opts: { onlySelf?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-5\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>opts</code>\n </td>\n <td class=\"param-type\"><code>object</code></td>\n <td class=\"param-description\">\n <p>Configuration options that determine how the control propagates changes\nand emits events after marking is applied.</p>\n<ul>\n<li><code>onlySelf</code>: When true, mark only this control. When false or not supplied,\nmarks all direct ancestors. Default is false.\n</li>\n</ul>\n<p> Optional. Default is <code>{}</code>.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-4\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n \n\n \n </tbody>\n</table>\n\n \n <a id=\"markAllAsTouched\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"markallastouched\">\n markAllAsTouched()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#markallastouched\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L494-L503\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L494-L503\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Marks the control and all its descendant controls as <code>touched</code>.</p>\n\n <p>See also:</p>\n <ul>\n \n <li><p><code>markAsTouched()</code></p>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">markAllAsTouched</span>(): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-6\">Parameters</h6>\n <p>There are no parameters.</p>\n\n \n <h6 class=\"no-anchor\" id=\"returns-5\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n \n\n \n </tbody>\n</table>\n\n \n <a id=\"markAsUntouched\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"markasuntouched\">\n markAsUntouched()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#markasuntouched\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L504-L531\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L504-L531\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Marks the control as <code>untouched</code>.</p>\n\n <p>See also:</p>\n <ul>\n \n <li><p><code>markAsTouched()</code></p>\n</li>\n <li><p><code>markAsDirty()</code></p>\n</li>\n <li><p><code>markAsPristine()</code></p>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">markAsUntouched</span>(opts: { onlySelf?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-7\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>opts</code>\n </td>\n <td class=\"param-type\"><code>object</code></td>\n <td class=\"param-description\">\n <p>Configuration options that determine how the control propagates changes\nand emits events after the marking is applied.</p>\n<ul>\n<li><code>onlySelf</code>: When true, mark only this control. When false or not supplied,\nmarks all direct ancestors. Default is false.\n</li>\n</ul>\n<p> Optional. Default is <code>{}</code>.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-6\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>If the control has any children, also marks all children as <code>untouched</code>\nand recalculates the <code>touched</code> status of all parent controls.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"markAsDirty\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"markasdirty\">\n markAsDirty()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#markasdirty\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L532-L552\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L532-L552\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Marks the control as <code>dirty</code>. A control becomes dirty when\nthe control's value is changed through the UI; compare <code>markAsTouched</code>.</p>\n\n <p>See also:</p>\n <ul>\n \n <li><p><code>markAsTouched()</code></p>\n</li>\n <li><p><code>markAsUntouched()</code></p>\n</li>\n <li><p><code>markAsPristine()</code></p>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">markAsDirty</span>(opts: { onlySelf?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-8\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>opts</code>\n </td>\n <td class=\"param-type\"><code>object</code></td>\n <td class=\"param-description\">\n <p>Configuration options that determine how the control propagates changes\nand emits events after marking is applied.</p>\n<ul>\n<li><code>onlySelf</code>: When true, mark only this control. When false or not supplied,\nmarks all direct ancestors. Default is false.\n</li>\n</ul>\n<p> Optional. Default is <code>{}</code>.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-7\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n \n\n \n </tbody>\n</table>\n\n \n <a id=\"markAsPristine\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"markaspristine\">\n markAsPristine()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#markaspristine\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L553-L581\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L553-L581\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Marks the control as <code>pristine</code>.</p>\n\n <p>See also:</p>\n <ul>\n \n <li><p><code>markAsTouched()</code></p>\n</li>\n <li><p><code>markAsUntouched()</code></p>\n</li>\n <li><p><code>markAsDirty()</code></p>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">markAsPristine</span>(opts: { onlySelf?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-9\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>opts</code>\n </td>\n <td class=\"param-type\"><code>object</code></td>\n <td class=\"param-description\">\n <p>Configuration options that determine how the control emits events after\nmarking is applied.</p>\n<ul>\n<li><code>onlySelf</code>: When true, mark only this control. When false or not supplied,\nmarks all direct ancestors. Default is false.\n</li>\n</ul>\n<p> Optional. Default is <code>{}</code>.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-8\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>If the control has any children, marks all children as <code>pristine</code>,\nand recalculates the <code>pristine</code> status of all parent\ncontrols.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"markAsPending\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"markaspending\">\n markAsPending()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#markaspending\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L582-L609\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L582-L609\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Marks the control as <code>pending</code>.</p>\n\n <p>See also:</p>\n <ul>\n \n <li><a href=\"api/forms/AbstractControl#status\"><code>status</code></a>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">markAsPending</span>(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-10\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>opts</code>\n </td>\n <td class=\"param-type\"><code>object</code></td>\n <td class=\"param-description\">\n <p>Configuration options that determine how the control propagates changes and\nemits events after marking is applied.</p>\n<ul>\n<li><code>onlySelf</code>: When true, mark only this control. When false or not supplied,\nmarks all direct ancestors. Default is false.</li>\n<li><code>emitEvent</code>: When true or not supplied (the default), the <code>statusChanges</code>\nobservable emits an event with the latest status the control is marked pending.\nWhen false, no events are emitted.\n</li>\n</ul>\n<p> Optional. Default is <code>{}</code>.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-9\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>A control is pending while the control performs async validation.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"disable\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"disable\">\n disable()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#disable\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L610-L647\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L610-L647\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Disables the control. This means the control is exempt from validation checks and\nexcluded from the aggregate value of any parent. Its status is <code>DISABLED</code>.</p>\n\n <p>See also:</p>\n <ul>\n \n <li><a href=\"api/forms/AbstractControl#status\"><code>status</code></a>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">disable</span>(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-11\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>opts</code>\n </td>\n <td class=\"param-type\"><code>object</code></td>\n <td class=\"param-description\">\n <p>Configuration options that determine how the control propagates\nchanges and emits events after the control is disabled.</p>\n<ul>\n<li><code>onlySelf</code>: When true, mark only this control. When false or not supplied,\nmarks all direct ancestors. Default is false.</li>\n<li><code>emitEvent</code>: When true or not supplied (the default), both the <code>statusChanges</code> and\n<code>valueChanges</code>\nobservables emit events with the latest status and value when the control is disabled.\nWhen false, no events are emitted.\n</li>\n</ul>\n<p> Optional. Default is <code>{}</code>.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-10\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>If the control has children, all children are also disabled.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"enable\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"enable\">\n enable()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#enable\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L648-L680\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L648-L680\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Enables the control. This means the control is included in validation checks and\nthe aggregate value of its parent. Its status recalculates based on its value and\nits validators.</p>\n\n <p>See also:</p>\n <ul>\n \n <li><a href=\"api/forms/AbstractControl#status\"><code>status</code></a>\n</li>\n </ul>\n \n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">enable</span>(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-12\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>opts</code>\n </td>\n <td class=\"param-type\"><code>object</code></td>\n <td class=\"param-description\">\n <p>Configure options that control how the control propagates changes and\nemits events when marked as untouched</p>\n<ul>\n<li><code>onlySelf</code>: When true, mark only this control. When false or not supplied,\nmarks all direct ancestors. Default is false.</li>\n<li><code>emitEvent</code>: When true or not supplied (the default), both the <code>statusChanges</code> and\n<code>valueChanges</code>\nobservables emit events with the latest status and value when the control is enabled.\nWhen false, no events are emitted.\n</li>\n</ul>\n<p> Optional. Default is <code>{}</code>.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-11\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>By default, if the control has children, all children are enabled.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"setParent\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"setparent\">\n setParent()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#setparent\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L692-L698\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L692-L698\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n \n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">setParent</span>(parent: <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a> | <a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a>): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-13\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>parent</code>\n </td>\n <td class=\"param-type\"><code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a> | <a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code></td>\n <td class=\"param-description\">\n <p>Sets the parent of the control</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-12\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n \n\n \n </tbody>\n</table>\n\n \n <a id=\"setValue\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"setvalue\">\n setValue()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#setvalue\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L699-L703\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L699-L703\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Sets the value of the control. Abstract method (implemented in sub-classes).</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\">abstract <span class=\"member-name\">setValue</span>(value: any, options?: Object): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-14\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>value</code>\n </td>\n <td class=\"param-type\"><code>any</code></td>\n <td class=\"param-description\">\n \n \n </td>\n </tr>\n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>options</code>\n </td>\n <td class=\"param-type\"><code>Object</code></td>\n <td class=\"param-description\">\n <p>Optional. Default is <code>undefined</code>.</p>\n \n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-13\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n \n\n \n </tbody>\n</table>\n\n \n <a id=\"patchValue\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"patchvalue\">\n patchValue()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#patchvalue\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L704-L708\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L704-L708\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Patches the value of the control. Abstract method (implemented in sub-classes).</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\">abstract <span class=\"member-name\">patchValue</span>(value: any, options?: Object): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-15\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>value</code>\n </td>\n <td class=\"param-type\"><code>any</code></td>\n <td class=\"param-description\">\n \n \n </td>\n </tr>\n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>options</code>\n </td>\n <td class=\"param-type\"><code>Object</code></td>\n <td class=\"param-description\">\n <p>Optional. Default is <code>undefined</code>.</p>\n \n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-14\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n \n\n \n </tbody>\n</table>\n\n \n <a id=\"reset\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"reset\">\n reset()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#reset\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L709-L713\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L709-L713\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Resets the control. Abstract method (implemented in sub-classes).</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\">abstract <span class=\"member-name\">reset</span>(value?: any, options?: Object): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-16\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>value</code>\n </td>\n <td class=\"param-type\"><code>any</code></td>\n <td class=\"param-description\">\n <p>Optional. Default is <code>undefined</code>.</p>\n \n </td>\n </tr>\n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>options</code>\n </td>\n <td class=\"param-type\"><code>Object</code></td>\n <td class=\"param-description\">\n <p>Optional. Default is <code>undefined</code>.</p>\n \n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-15\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n \n\n \n </tbody>\n</table>\n\n \n <a id=\"updateValueAndValidity\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"updatevalueandvalidity\">\n updateValueAndValidity()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#updatevalueandvalidity\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L714-L751\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L714-L751\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Recalculates the value and validation status of the control.</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">updateValueAndValidity</span>(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-17\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>opts</code>\n </td>\n <td class=\"param-type\"><code>object</code></td>\n <td class=\"param-description\">\n <p>Configuration options determine how the control propagates changes and emits events\nafter updates and validity checks are applied.</p>\n<ul>\n<li><code>onlySelf</code>: When true, only update this control. When false or not supplied,\nupdate all direct ancestors. Default is false.</li>\n<li><code>emitEvent</code>: When true or not supplied (the default), both the <code>statusChanges</code> and\n<code>valueChanges</code>\nobservables emit events with the latest status and value when the control is updated.\nWhen false, no events are emitted.\n</li>\n</ul>\n<p> Optional. Default is <code>{}</code>.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-16\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>By default, it also updates the value and validity of its ancestors.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"setErrors\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"seterrors\">\n setErrors()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#seterrors\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L788-L815\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L788-L815\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Sets errors on a form control when running validations manually, rather than automatically.</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">setErrors</span>(errors: <a href=\"api/forms/ValidationErrors\" class=\"code-anchor\">ValidationErrors</a>, opts: { emitEvent?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-18\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>errors</code>\n </td>\n <td class=\"param-type\"><code><a href=\"api/forms/ValidationErrors\" class=\"code-anchor\">ValidationErrors</a></code></td>\n <td class=\"param-description\">\n \n \n </td>\n </tr>\n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>opts</code>\n </td>\n <td class=\"param-type\"><code>object</code></td>\n <td class=\"param-description\">\n <p>Optional. Default is <code>{}</code>.</p>\n \n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-17\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>Calling <code>setErrors</code> also updates the validity of the parent control.</p>\n\n </td>\n </tr>\n\n <tr>\n <td class=\"usage-notes\">\n <h4 id=\"setErrors-usage-notes\">Usage Notes<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#setErrors-usage-notes\"><i class=\"material-icons\">link</i></a></h4>\n <h5 id=\"manually-set-the-errors-for-a-control\">Manually set the errors for a control<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#manually-set-the-errors-for-a-control\"><i class=\"material-icons\">link</i></a></h5>\n<code-example>\nconst login = new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('someLogin');\nlogin.setErrors({\n notUnique: true\n});\n\nexpect(login.valid).toEqual(false);\nexpect(login.errors).toEqual({ notUnique: true });\n\nlogin.setValue('someOtherLogin');\n\nexpect(login.valid).toEqual(true);\n</code-example>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <a id=\"get\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"get\">\n get()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#get\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L816-L847\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L816-L847\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Retrieves a child control given the control's name or path.</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">get</span>(path: string | (string | <a href=\"api/common/DecimalPipe\" class=\"code-anchor\">number</a>)[]): <a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a> | null</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-19\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>path</code>\n </td>\n <td class=\"param-type\"><code>string | (string | <a href=\"api/common/DecimalPipe\" class=\"code-anchor\">number</a>)[]</code></td>\n <td class=\"param-description\">\n <p>A dot-delimited string or array of string/number values that define the path to the\ncontrol.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-18\">Returns</h6>\n <p><code><a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a> | null</code></p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n \n\n <tr>\n <td class=\"usage-notes\">\n <h4 id=\"get-usage-notes\">Usage Notes<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#get-usage-notes\"><i class=\"material-icons\">link</i></a></h4>\n <h5 id=\"retrieve-a-nested-control\">Retrieve a nested control<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#retrieve-a-nested-control\"><i class=\"material-icons\">link</i></a></h5>\n<p>For example, to get a <code>name</code> control nested within a <code>person</code> sub-group:</p>\n<ul>\n<li><code>this.form.get('person.name');</code></li>\n</ul>\n<p>-OR-</p>\n<ul>\n<li><code>this.form.get(['person', 'name']);</code></li>\n</ul>\n<h5 id=\"retrieve-a-control-in-a-formarray\">Retrieve a control in a FormArray<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#retrieve-a-control-in-a-formarray\"><i class=\"material-icons\">link</i></a></h5>\n<p>When accessing an element inside a FormArray, you can use an element index.\nFor example, to get a <code>price</code> control from the first element in an <code>items</code> array you can use:</p>\n<ul>\n<li><code>this.form.get('items.0.price');</code></li>\n</ul>\n<p>-OR-</p>\n<ul>\n<li><code>this.form.get(['items', 0, 'price']);</code></li>\n</ul>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <a id=\"getError\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"geterror\">\n getError()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#geterror\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L848-L879\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L848-L879\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Reports error data for the control with the given path.</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">getError</span>(errorCode: string, path?: string | (string | <a href=\"api/common/DecimalPipe\" class=\"code-anchor\">number</a>)[]): any</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-20\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>errorCode</code>\n </td>\n <td class=\"param-type\"><code>string</code></td>\n <td class=\"param-description\">\n <p>The code of the error to check</p>\n\n </td>\n </tr>\n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>path</code>\n </td>\n <td class=\"param-type\"><code>string | (string | <a href=\"api/common/DecimalPipe\" class=\"code-anchor\">number</a>)[]</code></td>\n <td class=\"param-description\">\n <p>A list of control names that designates how to move from the current control\nto the control that should be queried for errors.</p>\n<p> Optional. Default is <code>undefined</code>.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-19\">Returns</h6>\n <p><code>any</code>: error data for that particular error. If the control or error is not present,\nnull is returned.</p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n \n\n <tr>\n <td class=\"usage-notes\">\n <h4 id=\"getError-usage-notes\">Usage Notes<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#getError-usage-notes\"><i class=\"material-icons\">link</i></a></h4>\n <p>For example, for the following <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>:</p>\n<code-example>\nform = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n address: new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({ street: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>() })\n});\n</code-example>\n<p>The path to the 'street' control from the root form would be 'address' -> 'street'.</p>\n<p>It can be provided to this method in one of two formats:</p>\n<ol>\n<li>An array of string control names, e.g. <code>['address', 'street']</code></li>\n<li>A period-delimited list of control names in one string, e.g. <code>'address.street'</code></li>\n</ol>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <a id=\"hasError\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"haserror\">\n hasError()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#haserror\"><i class=\"material-icons\">link</i></a></h3>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L880-L913\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L880-L913\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n </th></tr></thead>\n <tbody>\n <tr>\n <td class=\"short-description\">\n <p>Reports whether the control with the given path has the error specified.</p>\n\n </td>\n </tr>\n \n <tr>\n <td>\n <div class=\"overload-info\">\n \n\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box api-heading\"><span class=\"member-name\">hasError</span>(errorCode: string, path?: string | (string | <a href=\"api/common/DecimalPipe\" class=\"code-anchor\">number</a>)[]): boolean</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-21\">Parameters</h6>\n <table class=\"is-full-width list-table parameters-table instance-method-overload-parameters\">\n <tbody>\n \n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>errorCode</code>\n </td>\n <td class=\"param-type\"><code>string</code></td>\n <td class=\"param-description\">\n <p>The code of the error to check</p>\n\n </td>\n </tr>\n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>path</code>\n </td>\n <td class=\"param-type\"><code>string | (string | <a href=\"api/common/DecimalPipe\" class=\"code-anchor\">number</a>)[]</code></td>\n <td class=\"param-description\">\n <p>A list of control names that designates how to move from the current control\nto the control that should be queried for errors.</p>\n<p> Optional. Default is <code>undefined</code>.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns-20\">Returns</h6>\n <p><code>boolean</code>: whether the given error is present in the control at the given path.</p>\n<p>If the control is not present, false is returned.</p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n \n\n <tr>\n <td class=\"usage-notes\">\n <h4 id=\"hasError-usage-notes\">Usage Notes<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/AbstractControl#hasError-usage-notes\"><i class=\"material-icons\">link</i></a></h4>\n <p>For example, for the following <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>:</p>\n<code-example>\nform = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n address: new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({ street: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>() })\n});\n</code-example>\n<p>The path to the 'street' control from the root form would be 'address' -> 'street'.</p>\n<p>It can be provided to this method in one of two formats:</p>\n<ol>\n<li>An array of string control names, e.g. <code>['address', 'street']</code></li>\n<li>A period-delimited list of control names in one string, e.g. <code>'address.street'</code></li>\n</ol>\n<p>If no path is given, this method checks for the error on the current control.</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n</section>\n\n\n\n \n\n\n </div>\n</article>\n\n<!-- links to this doc:\n - api/forms\n - api/forms/AbstractControlOptions\n - api/forms/AsyncValidator\n - api/forms/AsyncValidatorFn\n - api/forms/FormArray\n - api/forms/FormArrayName\n - api/forms/FormBuilder\n - api/forms/FormControl\n - api/forms/FormControlDirective\n - api/forms/FormControlName\n - api/forms/FormGroup\n - api/forms/FormGroupDirective\n - api/forms/FormGroupName\n - api/forms/NG_ASYNC_VALIDATORS\n - api/forms/NG_VALIDATORS\n - api/forms/NgForm\n - api/forms/Validator\n - api/forms/ValidatorFn\n - api/forms/Validators\n - guide/form-validation\n - guide/reactive-forms\n - guide/updating-to-version-11\n-->\n<!-- links from this doc:\n - /api\n - /guide/dynamic-form\n - /guide/forms\n - /guide/reactive-forms\n - api/common/DecimalPipe\n - api/forms\n - api/forms/AbstractControl#abstractcontrol\n - api/forms/AbstractControl#asyncValidator\n - api/forms/AbstractControl#clearAsyncValidators\n - api/forms/AbstractControl#clearValidators\n - api/forms/AbstractControl#clearasyncvalidators\n - api/forms/AbstractControl#clearvalidators\n - api/forms/AbstractControl#constructor\n - api/forms/AbstractControl#constructor()\n - api/forms/AbstractControl#description\n - api/forms/AbstractControl#dirty\n - api/forms/AbstractControl#disable\n - api/forms/AbstractControl#disabled\n - api/forms/AbstractControl#enable\n - api/forms/AbstractControl#enabled\n - api/forms/AbstractControl#errors\n - api/forms/AbstractControl#get\n - api/forms/AbstractControl#get-usage-notes\n - api/forms/AbstractControl#getError\n - api/forms/AbstractControl#getError-usage-notes\n - api/forms/AbstractControl#geterror\n - api/forms/AbstractControl#hasError\n - api/forms/AbstractControl#hasError-usage-notes\n - api/forms/AbstractControl#haserror\n - api/forms/AbstractControl#invalid\n - api/forms/AbstractControl#manually-set-the-errors-for-a-control\n - api/forms/AbstractControl#markAllAsTouched\n - api/forms/AbstractControl#markAsDirty\n - api/forms/AbstractControl#markAsPending\n - api/forms/AbstractControl#markAsPristine\n - api/forms/AbstractControl#markAsTouched\n - api/forms/AbstractControl#markAsUntouched\n - api/forms/AbstractControl#markallastouched\n - api/forms/AbstractControl#markasdirty\n - api/forms/AbstractControl#markaspending\n - api/forms/AbstractControl#markaspristine\n - api/forms/AbstractControl#markastouched\n - api/forms/AbstractControl#markasuntouched\n - api/forms/AbstractControl#methods\n - api/forms/AbstractControl#parent\n - api/forms/AbstractControl#patchValue\n - api/forms/AbstractControl#patchvalue\n - api/forms/AbstractControl#pending\n - api/forms/AbstractControl#pristine\n - api/forms/AbstractControl#properties\n - api/forms/AbstractControl#reset\n - api/forms/AbstractControl#retrieve-a-control-in-a-formarray\n - api/forms/AbstractControl#retrieve-a-nested-control\n - api/forms/AbstractControl#root\n - api/forms/AbstractControl#see-also\n - api/forms/AbstractControl#setAsyncValidators\n - api/forms/AbstractControl#setErrors\n - api/forms/AbstractControl#setErrors-usage-notes\n - api/forms/AbstractControl#setParent\n - api/forms/AbstractControl#setValidators\n - api/forms/AbstractControl#setValue\n - api/forms/AbstractControl#setasyncvalidators\n - api/forms/AbstractControl#seterrors\n - api/forms/AbstractControl#setparent\n - api/forms/AbstractControl#setvalidators\n - api/forms/AbstractControl#setvalue\n - api/forms/AbstractControl#status\n - api/forms/AbstractControl#statusChanges\n - api/forms/AbstractControl#subclasses\n - api/forms/AbstractControl#touched\n - api/forms/AbstractControl#untouched\n - api/forms/AbstractControl#updateOn\n - api/forms/AbstractControl#updateValueAndValidity\n - api/forms/AbstractControl#updatevalueandvalidity\n - api/forms/AbstractControl#valid\n - api/forms/AbstractControl#validator\n - api/forms/AbstractControl#value\n - api/forms/AbstractControl#valueChanges\n - api/forms/AsyncValidatorFn\n - api/forms/FormArray\n - api/forms/FormControl\n - api/forms/FormGroup\n - api/forms/ValidationErrors\n - api/forms/ValidatorFn\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L138-L1034\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L425-L437\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L438-L450\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L451-L461\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L462-L472\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L473-L493\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L494-L503\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L504-L531\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L532-L552\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L553-L581\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L582-L609\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L610-L647\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L648-L680\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L692-L698\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L699-L703\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L704-L708\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L709-L713\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L714-L751\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L788-L815\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L816-L847\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L848-L879\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L880-L913\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L138-L1034\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L425-L437\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L438-L450\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L451-L461\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L462-L472\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L473-L493\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L494-L503\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L504-L531\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L532-L552\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L553-L581\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L582-L609\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L610-L647\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L648-L680\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L692-L698\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L699-L703\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L704-L708\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L709-L713\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L714-L751\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L788-L815\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L816-L847\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L848-L879\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L880-L913\n-->"
|
|
} |