Basic validation
Validate request data using therequest.validateUsing() method:
RequestValidator class
TheRequestValidator class from modules/http/request_validator.ts:34 integrates VineJS with AdonisJS requests:
Validation data
By default,request.validateUsing() validates:
- Request body
- Uploaded files
- URL parameters (available as
params) - Request headers (available as
headers) - Cookies (available as
cookies)
Validating request body
Validating URL parameters
Validating headers
Validating cookies
Custom validation data
Provide custom data to validate:Error handling
Validation errors throw aValidationError:
Try validation
UsetryValidateUsing() for validation without throwing errors:
modules/http/request_validator.ts:134:
Custom error reporters
Customize how validation errors are reported:Per-request error reporter
Custom messages
Provide custom validation messages:Per-request messages
Validation metadata
Pass metadata to validators for dynamic validation:Creating validators
Inline validators
Reusable validators
Create validators in separate files:Common validation rules
String validation
Number validation
Boolean validation
Array validation
Object validation
File validation
Best practices
Always validate user input
Always validate user input
Never trust user input. Always validate data before processing:
Create reusable validators
Create reusable validators
Store validators in a dedicated directory for reuse:
Use TypeScript for type safety
Use TypeScript for type safety
VineJS validators provide full TypeScript support:
Handle validation errors gracefully
Handle validation errors gracefully
Provide clear error messages to users:
Further reading
VineJS Documentation
Learn more about VineJS validation rules and features