@uplink-protocol/form-controller
Version:
Reactive multi-step form controller with dynamic validation and state management
238 lines (123 loc) • 6.24 kB
Markdown
[**-protocol/form-controller v0.2.6**](../README.md)
***
[-protocol/form-controller](../globals.md) / Validation
# Interface: Validation
Defined in: [interfaces/validation.interface.ts:5](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L5)
Validation interface defining rules for form field validation.
Supports both static and dynamic validation approaches.
## Properties
### collectAllErrors?
> `optional` **collectAllErrors**: `boolean`
Defined in: [interfaces/validation.interface.ts:92](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L92)
Whether to collect all validation errors instead of stopping at the first one
This is useful for showing multiple validation errors at once
***
### custom()?
> `optional` **custom**: (`value`) => `string` \| `boolean`
Defined in: [interfaces/validation.interface.ts:29](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L29)
Custom validation function
#### Parameters
##### value
`any`
The field value to validate
#### Returns
`string` \| `boolean`
true if valid, or an error message string if invalid
***
### ~~dynamicValidator?~~
> `optional` **dynamicValidator**: `string`
Defined in: [interfaces/validation.interface.ts:36](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L36)
Name of registered dynamic validator to use
Dynamic validators have access to the entire form state
#### Deprecated
Use dynamicValidators array instead for multiple validators
***
### ~~dynamicValidatorParams?~~
> `optional` **dynamicValidatorParams**: `Record`\<`string`, `any`\>
Defined in: [interfaces/validation.interface.ts:43](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L43)
Parameters for the dynamic validator
Provides configuration options to the validator
#### Deprecated
Use dynamicValidators array instead
***
### dynamicValidators?
> `optional` **dynamicValidators**: `object`[]
Defined in: [interfaces/validation.interface.ts:49](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L49)
Array of dynamic validators to use
Each validator can have its own parameters and error message
#### errorMessage?
> `optional` **errorMessage**: `string`
Custom error message for this validator
#### name
> **name**: `string`
Name of registered validator
#### params?
> `optional` **params**: `Record`\<`string`, `any`\>
Parameters to pass to the validator
***
### errorMessage?
> `optional` **errorMessage**: `string`
Defined in: [interfaces/validation.interface.ts:63](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L63)
Custom error message to display on validation failure
Overrides default error messages for all validations
Use errorMessages for specific error messages per validation type
***
### errorMessages?
> `optional` **errorMessages**: `object`
Defined in: [interfaces/validation.interface.ts:69](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L69)
Custom error messages for specific validation types
Allows specifying different messages for each validation rule
#### custom?
> `optional` **custom**: `string`
Error message for custom validation (if not returned by the function)
#### email?
> `optional` **email**: `string`
Error message for email validation
#### max?
> `optional` **max**: `string`
Error message for max validation
#### maxLength?
> `optional` **maxLength**: `string`
Error message for maxLength validation
#### min?
> `optional` **min**: `string`
Error message for min validation
#### minLength?
> `optional` **minLength**: `string`
Error message for minLength validation
#### pattern?
> `optional` **pattern**: `string`
Error message for pattern validation
#### required?
> `optional` **required**: `string`
Error message for required validation
***
### max?
> `optional` **max**: `number`
Defined in: [interfaces/validation.interface.ts:22](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L22)
Maximum allowed numeric value
***
### maxLength?
> `optional` **maxLength**: `number`
Defined in: [interfaces/validation.interface.ts:16](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L16)
Maximum allowed text length
***
### min?
> `optional` **min**: `number`
Defined in: [interfaces/validation.interface.ts:19](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L19)
Minimum allowed numeric value
***
### minLength?
> `optional` **minLength**: `number`
Defined in: [interfaces/validation.interface.ts:13](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L13)
Minimum allowed text length
***
### pattern?
> `optional` **pattern**: `string` \| `RegExp`
Defined in: [interfaces/validation.interface.ts:10](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L10)
Regular expression pattern for validation
***
### required?
> `optional` **required**: `boolean`
Defined in: [interfaces/validation.interface.ts:7](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/validation.interface.ts#L7)
Whether the field is required