laravel中的总拖曳数组验证应为零

时间:2018-07-12 10:47:23

标签: php arrays laravel

嗨,我在laravel 5.6上有项目 这是我在validation

中的角色
'voucher_debt' => 'required|array|min:1',
'voucher_debt.*' => 'nullable|numeric|min:0.001',
'voucher_credit' => 'required|array|min:1',
'voucher_credit.*' => 'nullable|numeric|min:0.001',

我的问题是我需要它检查

array_sum($voucher_credit) - array_sum($voucher_debt) == 0

我尝试了很多事情,但我却无济于事 在laravel

上可行吗

1 个答案:

答案 0 :(得分:1)

您可以在您的请求中这样做:

public function rules()
{
   $rules = [
          'voucher_debt' => ['required', 'array', 'min:1'],
          'voucher_debt.*' => ['nullable', 'numeric', 'min:0.001'],
          'voucher_credit' => ['required', 'array', 'min:1'],
          'voucher_credit.*' => ['nullable', 'numeric' ,'min:0.001'],
   ];

   if (array_sum($this->get('voucher_debt')) - array_sum($this->get('voucher_debt')) == 0) {
       throw new ConflictHttpException('YOUR_MESSAGE');
   }
}

或者您可以制定自定义验证规则并添加到voucher_debt

  

https://laravel.com/docs/5.6/validation#custom-validation-rules