UNPKG

@uplink-protocol/form-controller

Version:

Reactive multi-step form controller with dynamic validation and state management

238 lines (123 loc) 6.24 kB
[**@uplink-protocol/form-controller v0.2.6**](../README.md) *** [@uplink-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