假设我有一个用于验证FormRequest
字段唯一性的自定义逻辑,需要在数据库中找到另一个资源,如下所示:
class CreateMyResourceRequest extends FormRequest {
public function rules() {
return [
'my_field' => [
Rule::unique('some_other_resource', 'some_column')
->where(function ($query) {
$otherResource = SomeOtherResource::where(...)->firstOrFail();
// Process the retrieved resource
}),
]
该firstOrFail()
调用显然使请求失败并出现 404 - 未找到,而我想返回 422 并在该字段上出现验证错误。
有没有办法在使用Rule::unique()
框架提供的同时实现这一点?
提前致谢!