请问一下 Laravel 的表单验证如何优雅的使用
$request->validate([
'room_id' => 'required|integer|exists:room,id',
'gift_id' => 'required|integer|exists:goods_gift,id',
'target_member_id' => ['required',new exists_member_id],
'number' => 'required|integer',
], [
]);
我建了一个rule文件
php artisan make:rule exists_member_id
还有一个方法是
Validator::extend('exists_member_id', function($attribute, $value, $parameters) {
$target_member_id_arr = explode(",", $value);
foreach ($target_member_id_arr as $target_user_id) {
$ret =Member::query()
->where('id',$target_user_id)
->exists();
if(!$ret){
return false;
}
}
return true;
});
$request->validate([
'room_id' => 'required|integer|exists:room,id',
'gift_id' => 'required|integer|exists:goods_gift,id',
'target_member_id' => 'required|exists_member_id',
'number' => 'required|integer',
], [
]);
1.使用 Validator::extend
2.使用 php artisan make:rule exists_member_id
请问一下laravel如何优雅的使用表单验证 用 extend 还是用 rule
我是这样写的: