具有数据类型的Required_if-Laravel

时间:2018-07-11 15:23:47

标签: php laravel laravel-5

我想验证姓名和身份。

如果status = 1应该验证名称,否则应该跳过对name的验证。 当我发送status = 0时说:

  

名称必须是字符串

但是它应该根据条件验证跳过名称验证。

当我发送status=1时,它可以正常工作。

'status' => 'required|numeric',
'name' => 'required_if:status,1|string'

这里需要纠正什么?

1 个答案:

答案 0 :(得分:1)

您可以解决此问题:

public function rules()
{
   $rules = [
       'status' => ['required', 'numeric'],
       'name' => ['string'],
   ];

   if ($this->status == '1') {
       array_push($rules['name'], 'required');
   }

   return $rules;
}