Input Validation
Field-level validation with real-time feedback.
Basic Validation
<InputText label="Email" name="email" required validation={{ types: ["email"], }}/>Multiple Rules
<InputText label="Email" name="email" required validation={{ rules: [ { type: "email", errorMessage: "Please enter a valid email address", }, ], success: { message: "Email looks good!", }, }}/>Unique Validation
Check if a value already exists in the database:
<InputText label="Username" name="username" required validation={{ unique: { collection: "users", field: "username", errorMessage: "This username is already taken", exempt: existingUser ? { uuid: existingUser.uuid } : undefined, }, }}/>Validation Types
Common validation types:
email- Valid email formatmobilePhone- Phone numberstrongPassword- Password strengthalphanumeric- Letters and numbers onlyalphanumericWithSpaces- Letters, numbers, and spacessimpleUsername- Letters, numbers, hyphens, underscoresnumber- Numeric with optional min/max
Number Validation
<InputText label="Age" name="age" validation={{ rules: [ { type: "number", min: 18, max: 120, errorMessage: "Age must be between 18 and 120", }, ], }}/>Password Validation
<InputText label="Password" name="password" type="password" validation={{ rules: [ { type: "strongPassword", options: { minLength: 8, minLowercase: 1, minUppercase: 1, minNumbers: 1, minSymbols: 1, }, errorMessage: "Password must be stronger", }, ], }}/>Success Messages
Show feedback when validation passes:
<!-- With message -->validation={{ success: { message: "Looks good!" } }}
<!-- Without message (just visual indicator) -->validation={{ success: true }}