Generate form request validation for CatchAdmin module.
创建表单验证类。
modules/{Module}/Http/Requests/{Model}Request.php
<?php
namespace Modules\{Module}\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class {Model}Request extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
// Generated from field definitions
];
}
public function messages(): array
{
return [
// Custom messages
];
}
}
| Field Type | Validation Rule |
|---|
| string(n), required | 'required|string|max:n' |
| string(n), nullable | 'nullable|string|max:n' |
| integer | 'sometimes|integer|min:0' |
| decimal | 'required|numeric|min:0' |
| tinyint (status) | 'sometimes|integer|in:1,2' |
| foreign_key | 'required|integer|exists:table,id' |
| text | 'nullable|string' |
'required|email|max:100' | |
| date | 'nullable|date' |
对于更新操作,需要排除当前记录:
public function rules(): array
{
$id = $this->route('id');
return [
'email' => "required|email|unique:{table},email,{$id}",
];
}