在我的 Laravel-8 验证中,我在规则请求中有此代码:
public function rules()
{
return [
'name' => [
'required',
'string',
'min:2',
'max:80',
Rule::unique('units')->where(function ($query) {
return $query->where('company_id', Auth::user()->company_id);
})
],
];
}
我想在上面的规则请求中添加这个额外的条件:
<块引用>whereNotNull('parent_id')
我如何实现这一目标?
谢谢
答案 0 :(得分:2)
我认为您可以添加附加条件
'name' => [
'required',
'string',
'min:2',
'max:80',
Rule::unique('units')->where(function ($query) {
return $query->where('company_id', Auth::user()->company_id)
->whereNotNull('parent_id');
})
],
您也可以编写自定义验证
'name' => [
'required',
'string',
'min:2',
'max:80',
function ($attribute, $value, $fail) {
$unit=Unit::where('company_id', Auth::user()->company_id)->whereNotNull('parent_id')->exists();
if ($unit) {
$fail('The '.$attribute.' is invalid.');
}
},
],