validator - Data Validation
Overview
The validator module provides comprehensive data validation for Go structs with support for multiple locales and custom validation rules. It offers built-in validators for common data types and allows registration of custom validators.
Core Functions
Struct()
Validate struct data using struct tags.
Parameters:
s- Struct pointer to validate
Returns:
- Validation error if validation fails
- nil if validation passes
Example:
Var()
Validate a single variable with validation tags.
Parameters:
field- Value to validatetag- Validation rules
Returns:
- Validation error if validation fails
- nil if validation passes
Example:
SetLocale()
Set the locale for error messages.
Supported Locales:
en- English (default)zh-CN- Simplified Chinesezh-TW- Traditional Chinesefr- Frenchde- Germanes- Spanishit- Italianja- Japaneseko- Koreanpt- Portugueseru- Russian
Example:
RegisterValidation()
Register a custom validation rule.
Parameters:
tag- Validation tag namefn- Validation function
Returns:
- Error if registration fails
Example:
RegisterTranslation()
Register a custom translation for validation errors.
Parameters:
locale- Locale codetag- Validation tagtranslation- Translation template
Example:
Built-in Validation Rules
Required Fields
String Validation
Numeric Validation
Date Validation
Custom Rules
Usage Patterns
Complete User Validation
Conditional Validation
Custom Validator with Parameters
Advanced Features
Custom Validator
Multi-language Support
Struct Level Validation
Best Practices
Validation Tags
Error Handling
Performance
Related Documentation
- must.go - Error assertion
- orm.go - Database operations
- API Documentation
- Module Overview