5 lines
58 KiB
JSON

{
"id": "api/forms/FormGroup",
"title": "FormGroup",
"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/FormGroup\", \"name\": \"FormGroup\" } }\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...#L1336-L1796\" 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#L1336-L1796\" 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=\"formgroup\">FormGroup<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#formgroup\"><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>Tracks the value and validity state of a group of <code><a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a></code> instances.</p>\n\n <p><a href=\"api/forms/FormGroup#description\">See more...</a></p>\n </section>\n \n \n \n <section class=\"class-overview\">\n<code-example language=\"ts\" hidecopy=\"true\">\nclass <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a> extends <a class=\"code-anchor\" href=\"api/forms/AbstractControl\">AbstractControl</a> {\n <a class=\"code-anchor\" href=\"api/forms/FormGroup#constructor()\"><span class=\"member-name\">constructor</span>(controls: { [key: string]: AbstractControl; }, validatorOrOpts?: ValidatorFn | AbstractControlOptions | ValidatorFn[], asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[])</a>\n <a class=\"code-anchor\" href=\"api/forms/FormGroup#controls\"><span class=\"member-name\">controls</span>: {...}</a>\n <a class=\"code-anchor\" href=\"api/forms/FormGroup#registerControl\"><span class=\"member-name\">registerControl</span>(name: string, control: AbstractControl): AbstractControl</a>\n <a class=\"code-anchor\" href=\"api/forms/FormGroup#addControl\"><span class=\"member-name\">addControl</span>(name: string, control: AbstractControl, options: { emitEvent?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/FormGroup#removeControl\"><span class=\"member-name\">removeControl</span>(name: string, options: { emitEvent?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/FormGroup#setControl\"><span class=\"member-name\">setControl</span>(name: string, control: AbstractControl, options: { emitEvent?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/FormGroup#contains\"><span class=\"member-name\">contains</span>(controlName: string): boolean</a>\n <a class=\"code-anchor\" href=\"api/forms/FormGroup#setValue\"><span class=\"member-name\">setValue</span>(value: { [key: string]: any; }, options: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/FormGroup#patchValue\"><span class=\"member-name\">patchValue</span>(value: { [key: string]: any; }, options: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/FormGroup#reset\"><span class=\"member-name\">reset</span>(value: any = {}, options: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</a>\n <a class=\"code-anchor\" href=\"api/forms/FormGroup#getRawValue\"><span class=\"member-name\">getRawValue</span>(): any</a>\n\n // inherited from <a class=\"code-anchor\" href=\"api/forms/AbstractControl\">forms/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&#x3C;any></a>\n <a class=\"code-anchor\" href=\"api/forms/AbstractControl#statusChanges\"><span class=\"member-name\">statusChanges</span>: Observable&#x3C;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\n</section>\n\n\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/FormGroup#description\"><i class=\"material-icons\">link</i></a></h2>\n <p>A <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> aggregates the values of each child <code><a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a></code> into one object,\nwith each control name as the key. It calculates its status by reducing the status values\nof its children. For example, if one of the controls in a group is invalid, the entire\ngroup becomes invalid.</p>\n<p><code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> is one of the three fundamental building blocks used to define forms in Angular,\nalong with <code><a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a></code> and <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code>.</p>\n<p>When instantiating a <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>, pass in a collection of child controls as the first\nargument. The key for each child registers the name for the control.</p>\n\n <p>Further information available in the <a href=\"api/forms/FormGroup#usage-notes\">Usage Notes</a>...</p>\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/FormGroup#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>Creates a new <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> 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>(controls: { [key: string]: <a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a>; }, validatorOrOpts?: <a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a> | <a href=\"api/forms/AbstractControlOptions\" class=\"code-anchor\">AbstractControlOptions</a> | <a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a>[], asyncValidator?: <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>controls</code>\n </td>\n <td class=\"param-type\"><code>object</code></td>\n <td class=\"param-description\">\n <p>A collection of child controls. The key for each child is the name\nunder which it is registered.</p>\n\n </td>\n </tr>\n <tr class=\"constructor-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>validatorOrOpts</code>\n </td>\n <td class=\"param-type\"><code><a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a> | <a href=\"api/forms/AbstractControlOptions\" class=\"code-anchor\">AbstractControlOptions</a> | <a href=\"api/forms/ValidatorFn\" class=\"code-anchor\">ValidatorFn</a>[]</code></td>\n <td class=\"param-description\">\n <p>A synchronous validator function, or an array of\nsuch functions, or an <code><a href=\"api/forms/AbstractControlOptions\" class=\"code-anchor\">AbstractControlOptions</a></code> object that contains validation functions\nand a validation trigger.</p>\n<p> Optional. Default is <code>undefined</code>.</p>\n\n </td>\n </tr>\n <tr class=\"constructor-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>asyncValidator</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>A single async validator or array of async validator functions</p>\n<p> Optional. Default is <code>undefined</code>.</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/FormGroup#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=\"controls\"></a>\n <code class=\"\"><span class=\"member-name\">controls</span>: {\n [key: string]: <a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a>;\n}</code>\n </td>\n <td>\n <span class=\"from-constructor\">Declared in Constructor</span>\n \n <p>A collection of child controls. The key for each child is the name\nunder which it is registered.</p>\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/FormGroup#methods\"><i class=\"material-icons\">link</i></a></h2>\n \n <a id=\"registerControl\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"registercontrol\">\n registerControl()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#registercontrol\"><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...#L1439-L1455\" 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#L1439-L1455\" 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>Registers a control with the group's list of controls.</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\">registerControl</span>(name: string, control: <a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a>): <a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a></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>name</code>\n </td>\n <td class=\"param-type\"><code>string</code></td>\n <td class=\"param-description\">\n <p>The control name to register in the collection</p>\n\n </td>\n </tr>\n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>control</code>\n </td>\n <td class=\"param-type\"><code><a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a></code></td>\n <td class=\"param-description\">\n <p>Provides the control for the given name</p>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <h6 class=\"no-anchor\" id=\"returns\">Returns</h6>\n <p><code><a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a></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>This method does not update the value or validity of the control.\nUse <a href=\"api/forms/FormGroup#addControl\">addControl</a> instead.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"addControl\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"addcontrol\">\n addControl()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#addcontrol\"><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...#L1456-L1474\" 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#L1456-L1474\" 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>Add a control to this group.</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\">addControl</span>(name: string, control: <a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a>, options: { emitEvent?: boolean; } = {}): 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>name</code>\n </td>\n <td class=\"param-type\"><code>string</code></td>\n <td class=\"param-description\">\n <p>The control name to add to the collection</p>\n\n </td>\n </tr>\n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>control</code>\n </td>\n <td class=\"param-type\"><code><a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a></code></td>\n <td class=\"param-description\">\n <p>Provides the control for the given name</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>Specifies whether this FormGroup instance should emit events after a new\ncontrol is added.</p>\n<ul>\n<li><code>emitEvent</code>: When true or not supplied (the default), both the <code>statusChanges</code> and\n<code>valueChanges</code> observables emit events with the latest status and value when the control is\nadded. When 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-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>This method also updates the value and validity of the control.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"removeControl\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"removecontrol\">\n removeControl()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#removecontrol\"><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...#L1475-L1493\" 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#L1475-L1493\" 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>Remove a control from this group.</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\">removeControl</span>(name: string, options: { emitEvent?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-3\">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>name</code>\n </td>\n <td class=\"param-type\"><code>string</code></td>\n <td class=\"param-description\">\n <p>The control name to remove from the collection</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>Specifies whether this FormGroup instance should emit events after a\ncontrol is removed.</p>\n<ul>\n<li><code>emitEvent</code>: When true or not supplied (the default), both the <code>statusChanges</code> and\n<code>valueChanges</code> observables emit events with the latest status and value when the control is\nremoved. When 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-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>This method also updates the value and validity of the control.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n <a id=\"setControl\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"setcontrol\">\n setControl()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#setcontrol\"><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...#L1494-L1512\" 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#L1494-L1512\" 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>Replace an existing 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\">setControl</span>(name: string, control: <a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a>, options: { emitEvent?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-4\">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>name</code>\n </td>\n <td class=\"param-type\"><code>string</code></td>\n <td class=\"param-description\">\n <p>The control name to replace in the collection</p>\n\n </td>\n </tr>\n <tr class=\"instance-method-overload-parameter\">\n <td class=\"param-name\">\n <a id=\"\"></a>\n <code>control</code>\n </td>\n <td class=\"param-type\"><code><a href=\"api/forms/AbstractControl\" class=\"code-anchor\">AbstractControl</a></code></td>\n <td class=\"param-description\">\n <p>Provides the control for the given name</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>Specifies whether this FormGroup instance should emit events after an\nexisting control is replaced.</p>\n<ul>\n<li><code>emitEvent</code>: When true or not supplied (the default), both the <code>statusChanges</code> and\n<code>valueChanges</code> observables emit events with the latest status and value when the control is\nreplaced with a new one. When 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-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 \n\n \n </tbody>\n</table>\n\n \n <a id=\"contains\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"contains\">\n contains()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#contains\"><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...#L1513-L1526\" 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#L1513-L1526\" 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>Check whether there is an enabled control with the given name in the group.</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\">contains</span>(controlName: string): boolean</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>controlName</code>\n </td>\n <td class=\"param-type\"><code>string</code></td>\n <td class=\"param-description\">\n <p>The control name to check for existence in the collection</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>boolean</code>: false for disabled controls, true otherwise.</p>\n\n \n\n\n \n\n \n</div>\n </td>\n </tr>\n \n\n <tr>\n <td class=\"description\">\n <p>Reports false for disabled controls. If you'd like to check for existence in the group\nonly, use <a href=\"api/forms/AbstractControl#get\">get</a> instead.</p>\n\n </td>\n </tr>\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/FormGroup#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...#L1527-L1571\" 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#L1527-L1571\" 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 <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>. It accepts an object that matches\nthe structure of the group, with control names as keys.</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\">setValue</span>(value: { [key: string]: any; }, options: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-6\">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>object</code></td>\n <td class=\"param-description\">\n <p>The new value for the control that matches the structure of the group.</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>Configuration options that determine how the control propagates changes\nand emits events after the value changes.\nThe configuration options are passed to the <a href=\"api/forms/AbstractControl#updateValueAndValidity\">updateValueAndValidity</a> method.</p>\n<ul>\n<li><code>onlySelf</code>: When true, each change only affects this control, and not its parent. Default is\nfalse.</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 value 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-5\">Returns</h6>\n <p><code>void</code></p>\n\n \n\n\n \n <h6 class=\"no-anchor\" id=\"throws\">Throws</h6>\n \n <p><code>Error</code> When strict checks fail, such as setting the value of a control\nthat doesn't exist or if you exclude a value of a control that does exist.</p>\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=\"setValue-usage-notes\">Usage Notes<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#setValue-usage-notes\"><i class=\"material-icons\">link</i></a></h4>\n <h5 id=\"set-the-complete-value-for-the-form-group\">Set the complete value for the form group<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#set-the-complete-value-for-the-form-group\"><i class=\"material-icons\">link</i></a></h5>\n<code-example>\nconst form = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n first: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>(),\n last: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>()\n});\n\nconsole.log(form.value); // {first: null, last: null}\n\nform.setValue({first: 'Nancy', last: 'Drew'});\nconsole.log(form.value); // {first: 'Nancy', last: 'Drew'}\n</code-example>\n\n </td>\n </tr>\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/FormGroup#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...#L1572-L1618\" 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#L1572-L1618\" 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 <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>. It accepts an object with control\nnames as keys, and does its best to match the values to the correct controls\nin the group.</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\">patchValue</span>(value: { [key: string]: any; }, options: { onlySelf?: boolean; emitEvent?: 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>value</code>\n </td>\n <td class=\"param-type\"><code>object</code></td>\n <td class=\"param-description\">\n <p>The object that matches the structure of the group.</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>Configuration options that determine how the control propagates changes and\nemits events after the value is patched.</p>\n<ul>\n<li><code>onlySelf</code>: When true, each change only affects this control and not its parent. Default is\ntrue.</li>\n<li><code>emitEvent</code>: When true or not supplied (the default), both the <code>statusChanges</code> and\n<code>valueChanges</code> observables emit events with the latest status and value when the control value\nis updated. When false, no events are emitted. The configuration options are passed to\nthe <a href=\"api/forms/AbstractControl#updateValueAndValidity\">updateValueAndValidity</a> method.\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>It accepts both super-sets and sub-sets of the group without throwing an error.</p>\n\n </td>\n </tr>\n\n <tr>\n <td class=\"usage-notes\">\n <h4 id=\"patchValue-usage-notes\">Usage Notes<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#patchValue-usage-notes\"><i class=\"material-icons\">link</i></a></h4>\n <h5 id=\"patch-the-value-for-a-form-group\">Patch the value for a form group<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#patch-the-value-for-a-form-group\"><i class=\"material-icons\">link</i></a></h5>\n<code-example>\nconst form = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n first: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>(),\n last: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>()\n});\nconsole.log(form.value); // {first: null, last: null}\n\nform.patchValue({first: 'Nancy'});\nconsole.log(form.value); // {first: 'Nancy', last: null}\n</code-example>\n\n </td>\n </tr>\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/FormGroup#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...#L1619-L1684\" 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#L1619-L1684\" 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 <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>, marks all descendants <code>pristine</code> and <code>untouched</code> and sets\nthe value of all descendants to null.</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\">reset</span>(value: any = {}, options: { onlySelf?: boolean; emitEvent?: 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>value</code>\n </td>\n <td class=\"param-type\"><code>any</code></td>\n <td class=\"param-description\">\n <p>Resets the control with an initial value,\nor an object that defines the initial value and disabled state.</p>\n<p> Optional. Default is <code>{}</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>Configuration options that determine how the control propagates changes\nand emits events when the group is reset.</p>\n<ul>\n<li><code>onlySelf</code>: When true, each change only affects this control, and not its parent. Default is\nfalse.</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 reset.\nWhen false, no events are emitted.\nThe configuration options are passed to the <a href=\"api/forms/AbstractControl#updateValueAndValidity\">updateValueAndValidity</a> method.</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 <tr>\n <td class=\"description\">\n <p>You reset to a specific form state by passing in a map of states\nthat matches the structure of your form, with control names as keys. The state\nis a standalone value or a form state object with both a value and a disabled\nstatus.</p>\n\n </td>\n </tr>\n\n <tr>\n <td class=\"usage-notes\">\n <h4 id=\"reset-usage-notes\">Usage Notes<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#reset-usage-notes\"><i class=\"material-icons\">link</i></a></h4>\n <h5 id=\"reset-the-form-group-values\">Reset the form group values<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#reset-the-form-group-values\"><i class=\"material-icons\">link</i></a></h5>\n<code-example language=\"ts\">\nconst form = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n first: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('first name'),\n last: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('last name')\n});\n\nconsole.log(form.value); // {first: 'first name', last: 'last name'}\n\nform.reset({ first: 'name', last: 'last name' });\n\nconsole.log(form.value); // {first: 'name', last: 'last name'}\n</code-example>\n<h5 id=\"reset-the-form-group-values-and-disabled-status\">Reset the form group values and disabled status<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#reset-the-form-group-values-and-disabled-status\"><i class=\"material-icons\">link</i></a></h5>\n<code-example>\nconst form = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n first: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('first name'),\n last: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('last name')\n});\n\nform.reset({\n first: {value: 'name', disabled: true},\n last: 'last'\n});\n\nconsole.log(form.value); // {last: 'last'}\nconsole.log(form.get('first').status); // 'DISABLED'\n</code-example>\n\n </td>\n </tr>\n </tbody>\n</table>\n\n \n <a id=\"getRawValue\"></a>\n<table class=\"is-full-width method-table instance-method\">\n <thead><tr><th>\n <div class=\"with-github-links\">\n <h3 id=\"getrawvalue\">\n getRawValue()\n \n <a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#getrawvalue\"><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...#L1685-L1699\" 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#L1685-L1699\" 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>The aggregate value of the <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>, including any disabled controls.</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\">getRawValue</span>(): any</code-example>\n\n \n\n <h6 class=\"no-anchor\" id=\"parameters-9\">Parameters</h6>\n <p>There are no parameters.</p>\n\n \n <h6 class=\"no-anchor\" id=\"returns-8\">Returns</h6>\n <p><code>any</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>Retrieves all values regardless of disabled status.\nThe <code>value</code> property is the best way to get the value of the group, because\nit excludes disabled controls in the <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>.</p>\n\n </td>\n </tr>\n\n \n </tbody>\n</table>\n\n \n</section>\n\n\n\n \n<section class=\"usage-notes\">\n <h2 id=\"usage-notes\">Usage notes<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#usage-notes\"><i class=\"material-icons\">link</i></a></h2>\n <h3 id=\"create-a-form-group-with-2-controls\">Create a form group with 2 controls<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#create-a-form-group-with-2-controls\"><i class=\"material-icons\">link</i></a></h3>\n<code-example>\nconst form = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n first: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('Nancy', Validators.minLength(2)),\n last: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('Drew'),\n});\n\nconsole.log(form.value); // {first: 'Nancy', last; 'Drew'}\nconsole.log(form.status); // 'VALID'\n</code-example>\n<h3 id=\"create-a-form-group-with-a-group-level-validator\">Create a form group with a group-level validator<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#create-a-form-group-with-a-group-level-validator\"><i class=\"material-icons\">link</i></a></h3>\n<p>You include group-level validators as the second arg, or group-level async\nvalidators as the third arg. These come in handy when you want to perform validation\nthat considers the value of more than one child control.</p>\n<code-example>\nconst form = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n password: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('', Validators.minLength(2)),\n passwordConfirm: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('', Validators.minLength(2)),\n}, passwordMatchValidator);\n\n\nfunction passwordMatchValidator(g: <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>) {\n return g.get('password').value === g.get('passwordConfirm').value\n ? null : {'mismatch': true};\n}\n</code-example>\n<p>Like <code><a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a></code> instances, you choose to pass in\nvalidators and async validators as part of an options object.</p>\n<code-example>\nconst form = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n password: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('')\n passwordConfirm: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('')\n}, { validators: passwordMatchValidator, asyncValidators: otherValidator });\n</code-example>\n<h3 id=\"set-the-updateon-property-for-all-controls-in-a-form-group\">Set the updateOn property for all controls in a form group<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroup#set-the-updateon-property-for-all-controls-in-a-form-group\"><i class=\"material-icons\">link</i></a></h3>\n<p>The options object is used to set a default value for each child\ncontrol's <code>updateOn</code> property. If you set <code>updateOn</code> to <code>'blur'</code> at the\ngroup level, all child controls default to 'blur', unless the child\nhas explicitly specified a different <code>updateOn</code> value.</p>\n<code-example language=\"ts\">\nconst c = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n one: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>()\n}, { updateOn: 'blur' });\n</code-example>\n\n</section>\n\n\n\n </div>\n</article>\n\n<!-- links to this doc:\n - api/forms\n - api/forms/AbstractControl\n - api/forms/AbstractControlDirective\n - api/forms/AbstractFormGroupDirective\n - api/forms/Form\n - api/forms/FormArray\n - api/forms/FormArrayName\n - api/forms/FormBuilder\n - api/forms/FormControl\n - api/forms/FormControlName\n - api/forms/FormGroupDirective\n - api/forms/FormGroupName\n - api/forms/FormsModule\n - api/forms/NgForm\n - api/forms/NgModelGroup\n - api/forms/RadioControlValueAccessor\n - api/forms/ReactiveFormsModule\n - api/forms/SelectControlValueAccessor\n - guide/deprecations\n - guide/dynamic-form\n - guide/form-validation\n - guide/forms\n - guide/forms-overview\n - guide/glossary\n - guide/observables-in-angular\n - guide/reactive-forms\n-->\n<!-- links from this doc:\n - /api\n - api/forms\n - api/forms/AbstractControl\n - api/forms/AbstractControl#asyncValidator\n - api/forms/AbstractControl#clearAsyncValidators\n - api/forms/AbstractControl#clearValidators\n - api/forms/AbstractControl#constructor()\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#getError\n - api/forms/AbstractControl#hasError\n - api/forms/AbstractControl#invalid\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#parent\n - api/forms/AbstractControl#patchValue\n - api/forms/AbstractControl#pending\n - api/forms/AbstractControl#pristine\n - api/forms/AbstractControl#reset\n - api/forms/AbstractControl#root\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#touched\n - api/forms/AbstractControl#untouched\n - api/forms/AbstractControl#updateOn\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/AbstractControlOptions\n - api/forms/AsyncValidatorFn\n - api/forms/FormArray\n - api/forms/FormControl\n - api/forms/FormGroup#addControl\n - api/forms/FormGroup#addcontrol\n - api/forms/FormGroup#constructor\n - api/forms/FormGroup#constructor()\n - api/forms/FormGroup#contains\n - api/forms/FormGroup#controls\n - api/forms/FormGroup#create-a-form-group-with-2-controls\n - api/forms/FormGroup#create-a-form-group-with-a-group-level-validator\n - api/forms/FormGroup#description\n - api/forms/FormGroup#formgroup\n - api/forms/FormGroup#getRawValue\n - api/forms/FormGroup#getrawvalue\n - api/forms/FormGroup#methods\n - api/forms/FormGroup#patch-the-value-for-a-form-group\n - api/forms/FormGroup#patchValue\n - api/forms/FormGroup#patchValue-usage-notes\n - api/forms/FormGroup#patchvalue\n - api/forms/FormGroup#properties\n - api/forms/FormGroup#registerControl\n - api/forms/FormGroup#registercontrol\n - api/forms/FormGroup#removeControl\n - api/forms/FormGroup#removecontrol\n - api/forms/FormGroup#reset\n - api/forms/FormGroup#reset-the-form-group-values\n - api/forms/FormGroup#reset-the-form-group-values-and-disabled-status\n - api/forms/FormGroup#reset-usage-notes\n - api/forms/FormGroup#set-the-complete-value-for-the-form-group\n - api/forms/FormGroup#set-the-updateon-property-for-all-controls-in-a-form-group\n - api/forms/FormGroup#setControl\n - api/forms/FormGroup#setValue\n - api/forms/FormGroup#setValue-usage-notes\n - api/forms/FormGroup#setcontrol\n - api/forms/FormGroup#setvalue\n - api/forms/FormGroup#usage-notes\n - api/forms/ValidatorFn\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L1336-L1796\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L1439-L1455\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L1456-L1474\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L1475-L1493\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L1494-L1512\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L1513-L1526\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L1527-L1571\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L1572-L1618\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L1619-L1684\n - https://github.com/angular/angular/edit/master/packages/forms/src/model.ts?message=docs(forms)%3A%20describe%20your%20change...#L1685-L1699\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L1336-L1796\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L1439-L1455\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L1456-L1474\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L1475-L1493\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L1494-L1512\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L1513-L1526\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L1527-L1571\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L1572-L1618\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L1619-L1684\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/model.ts#L1685-L1699\n-->"
}