【问题标题】:Validate if another field is empty laravel validation验证另一个字段是否为空 laravel 验证
【发布时间】:2020-10-23 16:55:33
【问题描述】:
如果存在,我想验证字段,如果另一个字段不存在,我会失败
怎么做 ?我已经创建了自定义验证来获取基于记录的存储 id
我有字段product_id 和amount 和amount 字段根据product_id 在最大值和最小值之间验证,如果我提供amount = 100000 并且不填写product_id 字段验证amount 字段已通过并显示错误,因为我没有填写product_id 我想在执行自定义验证之前检查product_id 是否为空..
我已阅读 laravel 文档上的所有验证方法,但仍未找到解决方案。
怎么办?
【问题讨论】:
标签:
laravel
validation
required
【解决方案1】:
终于找到了解决办法……
在表单请求类上,我只是在验证实例上添加sometimes 规则,因此当product_id 字段不存在于amount 字段时将不会验证,当存在时它将使用如下验证规则进行验证:
class StoreRequest extend FormRequest
{
protected function getValidatorInstance()
{
$validator = parent::getValidatorInstance();
$validator->sometimes('amount', 'required|numeric|max_amount:product_id', function ($input) {
return Arr::has($input, 'product_id');
});
return $validator;
}
}