laravel-validation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseLaravel Validation
Laravel 验证
Form requests as single source of truth for validation, with comprehensive testing patterns.
将表单请求作为验证的单一可信来源,并提供全面的测试模式。
Core Concepts
核心概念
form-requests.md - Validation rules:
- Array-based validation rules
- Custom validation rules
- Conditional validation
- Custom error messages
- DTO transformation via
toDto()
validation-testing.md - Validation testing:
- RequestDataProviderItem helper
- Pest datasets for systematic testing
- Built-in helper methods (string, email, number, date, array, boolean)
- Nested array testing
- Conditional validation testing
- Real-world examples
form-requests.md - 验证规则:
- 基于数组的验证规则
- 自定义验证规则
- 条件验证
- 自定义错误消息
- 通过进行DTO转换
toDto()
validation-testing.md - 验证测试:
- RequestDataProviderItem 辅助工具
- 用于系统化测试的Pest数据集
- 内置辅助方法(字符串、邮箱、数字、日期、数组、布尔值)
- 嵌套数组测试
- 条件验证测试
- 真实场景示例
Pattern
模式
php
final class CreateOrderRequest extends FormRequest
{
public function rules(): array
{
return [
'user_id' => ['required', 'integer', 'exists:users,id'],
'items' => ['required', 'array', 'min:1'],
'items.*.product_id' => ['required', 'integer'],
'items.*.quantity' => ['required', 'integer', 'min:1'],
];
}
public function toDto(): CreateOrderDto
{
return CreateOrderDto::from($this->validated());
}
}All validation lives in form requests. Test validation systematically.
php
final class CreateOrderRequest extends FormRequest
{
public function rules(): array
{
return [
'user_id' => ['required', 'integer', 'exists:users,id'],
'items' => ['required', 'array', 'min:1'],
'items.*.product_id' => ['required', 'integer'],
'items.*.quantity' => ['required', 'integer', 'min:1'],
];
}
public function toDto(): CreateOrderDto
{
return CreateOrderDto::from($this->validated());
}
}所有验证逻辑都存在于表单请求中。对验证进行系统化测试。