On this page
AbstractControlDirective
class
Base class for control directives.
abstract class AbstractControlDirective {
  abstract control: AbstractControl | null
  value: any
  valid: boolean | null
  invalid: boolean | null
  pending: boolean | null
  disabled: boolean | null
  enabled: boolean | null
  errors: ValidationErrors | null
  pristine: boolean | null
  dirty: boolean | null
  touched: boolean | null
  status: string | null
  untouched: boolean | null
  statusChanges: Observable<any> | null
  valueChanges: Observable<any> | null
  path: string[] | null
  validator: ValidatorFn | null
  asyncValidator: AsyncValidatorFn | null
  reset(value: any = undefined): void
  hasError(errorCode: string, path?: string | (string | number)[]): boolean
  getError(errorCode: string, path?: string | (string | number)[]): any
}
   Subclasses
Description
This class is only used internally in the ReactiveFormsModule and the FormsModule.
Properties
| Property | Description | 
|---|---|
abstract control: AbstractControl | null | 
       Read-Only  A reference to the underlying control.  | 
      
value: any | 
       Read-Only  Reports the value of the control if it is present, otherwise null.  | 
      
valid: boolean | null | 
       Read-Only  Reports whether the control is valid. A control is considered valid if no validation errors exist with the current value. If the control is not present, null is returned.  | 
      
invalid: boolean | null | 
       Read-Only  Reports whether the control is invalid, meaning that an error exists in the input value. If the control is not present, null is returned.  | 
      
pending: boolean | null | 
       Read-Only  Reports whether a control is pending, meaning that that async validation is occurring and errors are not yet available for the input value. If the control is not present, null is returned.  | 
      
disabled: boolean | null | 
       Read-Only  Reports whether the control is disabled, meaning that the control is disabled in the UI and is exempt from validation checks and excluded from aggregate values of ancestor controls. If the control is not present, null is returned.  | 
      
enabled: boolean | null | 
       Read-Only  Reports whether the control is enabled, meaning that the control is included in ancestor calculations of validity or value. If the control is not present, null is returned.  | 
      
errors: ValidationErrors | null | 
       Read-Only  Reports the control's validation errors. If the control is not present, null is returned.  | 
      
pristine: boolean | null | 
       Read-Only  Reports whether the control is pristine, meaning that the user has not yet changed the value in the UI. If the control is not present, null is returned.  | 
      
dirty: boolean | null | 
       Read-Only  Reports whether the control is dirty, meaning that the user has changed the value in the UI. If the control is not present, null is returned.  | 
      
touched: boolean | null | 
       Read-Only  Reports whether the control is touched, meaning that the user has triggered a   | 
      
status: string | null | 
       Read-Only  Reports the validation status of the control. Possible values include: 'VALID', 'INVALID', 'DISABLED', and 'PENDING'. If the control is not present, null is returned.  | 
      
untouched: boolean | null | 
       Read-Only  Reports whether the control is untouched, meaning that the user has not yet triggered a   | 
      
statusChanges: Observable<any> | null | 
       Read-Only  Returns a multicasting observable that emits a validation status whenever it is calculated for the control. If the control is not present, null is returned.  | 
      
valueChanges: Observable<any> | null | 
       Read-Only  Returns a multicasting observable of value changes for the control that emits every time the value of the control changes in the UI or programmatically. If the control is not present, null is returned.  | 
      
path: string[] | null | 
       Read-Only  Returns an array that represents the path from the top-level form to this control. Each index is the string name of the control on that level.  | 
      
validator: ValidatorFn | null | 
       Read-Only  Synchronous validator function composed of all the synchronous validators registered with this directive.  | 
      
asyncValidator: AsyncValidatorFn | null | 
       Read-Only  Asynchronous validator function composed of all the asynchronous validators registered with this directive.  | 
      
Methods
| 
         
         reset()
          | 
      |||
|---|---|---|---|
Resets the control with the provided value if the control is present.  | 
      |||
        
          | 
      
value | 
            any | 
            Optional. Default is   | 
           
Returns
void
| 
         
         hasError()
          | 
      ||||||
|---|---|---|---|---|---|---|
Reports whether the control with the given path has the error specified.  | 
      ||||||
        
          | 
      
errorCode | 
            string | 
            The code of the error to check  | 
           
path | 
            string | (string | number)[] | 
            A list of control names that designates how to move from the current control to the control that should be queried for errors. Optional. Default is   | 
           
Returns
boolean: whether the given error is present in the control at the given path.
If the control is not present, false is returned.
Usage Notes
For example, for the following FormGroup:
form = new FormGroup({
  address: new FormGroup({ street: new FormControl() })
}); The path to the 'street' control from the root form would be 'address' -> 'street'.
It can be provided to this method in one of two formats:
- An array of string control names, e.g. 
['address', 'street'] - A period-delimited list of control names in one string, e.g. 
'address.street' 
If no path is given, this method checks for the error on the current control.
| 
         
         getError()
          | 
      ||||||
|---|---|---|---|---|---|---|
Reports error data for the control with the given path.  | 
      ||||||
        
          | 
      
errorCode | 
            string | 
            The code of the error to check  | 
           
path | 
            string | (string | number)[] | 
            A list of control names that designates how to move from the current control to the control that should be queried for errors. Optional. Default is   | 
           
Returns
any: error data for that particular error. If the control or error is not present, null is returned.
Usage Notes
For example, for the following FormGroup:
form = new FormGroup({
  address: new FormGroup({ street: new FormControl() })
}); The path to the 'street' control from the root form would be 'address' -> 'street'.
It can be provided to this method in one of two formats:
- An array of string control names, e.g. 
['address', 'street'] - A period-delimited list of control names in one string, e.g. 
'address.street' 
© 2010–2022 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
 https://v13.angular.io/api/forms/AbstractControlDirective