[**@rxap/form-system v19.1.0**](../README.md)

***

[@rxap/form-system](../globals.md) / IsSelectableValueDirective

# Class: IsSelectableValueDirective

Defined in: [packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts:25](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts#L25)

## Extends

- [`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md)

## Implements

- `Validator`

## Constructors

### new IsSelectableValueDirective()

> **new IsSelectableValueDirective**(`dataSourceLoader`, `injector`): [`IsSelectableValueDirective`](IsSelectableValueDirective.md)

Defined in: [packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts:45](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts#L45)

#### Parameters

##### dataSourceLoader

`DataSourceLoader`

##### injector

`Injector`

#### Returns

[`IsSelectableValueDirective`](IsSelectableValueDirective.md)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`constructor`](ExtractOptionsDataSourceMixin.md#constructors)

## Properties

### control?

> `protected` `optional` **control**: `RxapFormControl`\<`any`, `any`, `any`\>

Defined in: [packages/angular/form-system/src/lib/mixins/extract-control.mixin.ts:14](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-control.mixin.ts#L14)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`control`](ExtractOptionsDataSourceMixin.md#control)

***

### dataSource?

> `protected` `optional` **dataSource**: `BaseDataSource`\<`ControlOptions` \| `Record`\<`string`, `any`\>, `BaseDataSourceMetadata`, `BaseDataSourceViewer`\<`any`\>\>

Defined in: [packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts:70](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts#L70)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`dataSource`](ExtractOptionsDataSourceMixin.md#datasource)

***

### dataSourceLoader

> `protected` `readonly` **dataSourceLoader**: `DataSourceLoader`

Defined in: [packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts:47](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts#L47)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`dataSourceLoader`](ExtractOptionsDataSourceMixin.md#datasourceloader)

***

### injector

> `protected` `readonly` **injector**: `Injector`

Defined in: [packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts:49](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts#L49)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`injector`](ExtractOptionsDataSourceMixin.md#injector)

***

### matFormField?

> `protected` `optional` **matFormField**: `null` \| `MatFormField`

Defined in: [packages/angular/form-system/src/lib/mixins/extract-control.mixin.ts:12](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-control.mixin.ts#L12)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`matFormField`](ExtractOptionsDataSourceMixin.md#matformfield)

***

### metadata?

> `protected` `optional` **metadata**: `BaseDataSourceMetadata`

Defined in: [packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts:66](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts#L66)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`metadata`](ExtractOptionsDataSourceMixin.md#metadata)

***

### ngControl

> `protected` **ngControl**: `null` \| `NgControl` \| `AbstractControlDirective`

Defined in: [packages/angular/form-system/src/lib/mixins/extract-control.mixin.ts:10](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-control.mixin.ts#L10)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`ngControl`](ExtractOptionsDataSourceMixin.md#ngcontrol)

***

### settings?

> `protected` `optional` **settings**: [`UseOptionsDataSourceSettings`](../type-aliases/UseOptionsDataSourceSettings.md)\<`any`\>

Defined in: [packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts:62](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts#L62)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`settings`](ExtractOptionsDataSourceMixin.md#settings)

***

### useDataSourceValue?

> `protected` `optional` **useDataSourceValue**: [`UseDataSourceValue`](../interfaces/UseDataSourceValue.md)\<`ControlOptions` \| `Record`\<`string`, `any`\>, `ControlOptions` \| `Record`\<`string`, `any`\>\>

Defined in: [packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts:74](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts#L74)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`useDataSourceValue`](ExtractOptionsDataSourceMixin.md#usedatasourcevalue)

***

### viewer

> **viewer**: `BaseDataSourceViewer`

Defined in: [packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts:43](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts#L43)

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`viewer`](ExtractOptionsDataSourceMixin.md#viewer)

## Methods

### extractControl()

> `protected` **extractControl**(`ngControl`): `RxapFormControl`

Defined in: [packages/angular/form-system/src/lib/mixins/extract-control.mixin.ts:16](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-control.mixin.ts#L16)

#### Parameters

##### ngControl

`null` | `NgControl` | `AbstractControlDirective`

#### Returns

`RxapFormControl`

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`extractControl`](ExtractOptionsDataSourceMixin.md#extractcontrol)

***

### extractDataSources()

> `protected` **extractDataSources**(`formDefinition`, `controlId`): `Map`\<`string`, [`UseDataSourceValue`](../interfaces/UseDataSourceValue.md)\<`any`, `any`\>\>

Defined in: [packages/angular/form-system/src/lib/mixins/extract-data-sources.mixin.ts:9](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-data-sources.mixin.ts#L9)

#### Parameters

##### formDefinition

`FormDefinition`

##### controlId

`string`

#### Returns

`Map`\<`string`, [`UseDataSourceValue`](../interfaces/UseDataSourceValue.md)\<`any`, `any`\>\>

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`extractDataSources`](ExtractOptionsDataSourceMixin.md#extractdatasources)

***

### extractFormDefinition()

> `protected` **extractFormDefinition**(`control`): `FormDefinition`

Defined in: [packages/angular/form-system/src/lib/mixins/extract-form-definition.mixin.ts:10](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-form-definition.mixin.ts#L10)

#### Parameters

##### control

`AbstractControl`

#### Returns

`FormDefinition`

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`extractFormDefinition`](ExtractOptionsDataSourceMixin.md#extractformdefinition)

***

### extractOptionsDatasource()

> `protected` **extractOptionsDatasource**(`control`?): `BaseDataSource`\<`ControlOptions` \| `Record`\<`string`, `any`\>\>

Defined in: [packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts:76](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/mixins/extract-options-data-source.mixin.ts#L76)

#### Parameters

##### control?

`AbstractControl`\<`any`, `any`\>

#### Returns

`BaseDataSource`\<`ControlOptions` \| `Record`\<`string`, `any`\>\>

#### Inherited from

[`ExtractOptionsDataSourceMixin`](ExtractOptionsDataSourceMixin.md).[`extractOptionsDatasource`](ExtractOptionsDataSourceMixin.md#extractoptionsdatasource)

***

### validate()

> **validate**(`control`): `null` \| `ValidationErrors`

Defined in: [packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts:53](https://gitlab.com/rxap/packages/-/blob/36b0e9732b24717840935712e316593ff6aba795/packages/angular/form-system/src/lib/validators/is-selectable-value.directive.ts#L53)

#### Parameters

##### control

`AbstractControl`

The control to validate against.

#### Returns

`null` \| `ValidationErrors`

A map of validation errors if validation fails,
otherwise null.

#### Description

Method that performs synchronous validation against the provided control.
