Regle Rules
Validation rules for Regle. Rules come from @regle/rules, but you can also write your own with createRule, customize them with wrappers, and combine them with operators.
import { useRegle } from '@regle/core';
import { required, email, minLength } from '@regle/rules';
const { r$ } = useRegle(
{ email: '' },
{ email: { required, email, minLength: minLength(5) } }
);
Key Concepts
- All rules are optional by default; add
required to enforce a field.
- Built-in rules are imported from
@regle/rules; some are factories that take parameters (e.g. minLength(3)).
- Custom rules use
createRule for reusability, or an inline function for one-offs.
- Wrappers adapt an existing rule (message, params, async, tooltip) without rewriting it.
- Operators combine or conditionally apply rules.
References
| Topic |
Description |
Reference |
| Built-in Rules |
All validation rules from @regle/rules |
rules-built-in |
| Custom Rules |
Inline rules, createRule, reactive parameters, async rules, metadata |
rules-custom |
| Rule Wrappers |
withMessage, withParams, withAsync, withTooltip, chaining |
rules-wrappers |
| Rule Operators |
and, or, xor, not, applyIf, assignIf, pipe |
rules-operators |
Related skills
- regle — form setup with
useRegle, validation properties, displaying errors, modifiers.
- regle-typescript — typing rules schemas with
inferRules and RegleComputedRules.
1---2name: regle-rules3description: Regle validation rules — built-in rules from `@regle/rules`, custom rules with `createRule`, rule wrappers (`withMessage`, `withParams`, `withAsync`, `withTooltip`), and rule operators (`and`, `or`, `xor`, `not`, `applyIf`, `assignIf`, `pipe`). Use when declaring, customizing, composing, or conditionally applying validation rules in a Regle form. For form setup see regle.4license: MIT5---67# Regle Rules89Validation rules for Regle. Rules come from `@regle/rules`, but you can also write your own with `createRule`, customize them with wrappers, and combine them with operators.1011```ts12import { useRegle } from '@regle/core';13import { required, email, minLength } from '@regle/rules';1415const { r$ } = useRegle(16 { email: '' },17 { email: { required, email, minLength: minLength(5) } }18);19```2021## Key Concepts2223- All rules are optional by default; add `required` to enforce a field.24- Built-in rules are imported from `@regle/rules`; some are factories that take parameters (e.g. `minLength(3)`).25- Custom rules use `createRule` for reusability, or an inline function for one-offs.26- Wrappers adapt an existing rule (message, params, async, tooltip) without rewriting it.27- Operators combine or conditionally apply rules.2829## References3031| Topic | Description | Reference |32|-------|-------------|-----------|33| Built-in Rules | All validation rules from `@regle/rules` | [rules-built-in](references/rules-built-in.md) |34| Custom Rules | Inline rules, `createRule`, reactive parameters, async rules, metadata | [rules-custom](references/rules-custom.md) |35| Rule Wrappers | `withMessage`, `withParams`, `withAsync`, `withTooltip`, chaining | [rules-wrappers](references/rules-wrappers.md) |36| Rule Operators | `and`, `or`, `xor`, `not`, `applyIf`, `assignIf`, `pipe` | [rules-operators](references/rules-operators.md) |3738## Related skills3940- **regle** — form setup with `useRegle`, validation properties, displaying errors, modifiers.41- **regle-typescript** — typing rules schemas with `inferRules` and `RegleComputedRules`.