我有一个字段"图像",类型是文件,只需要验证图像是否被选中,意味着它也可以为空。
我试过了:'avatar' => 'mimes:jpeg,jpg,png,gif|max:100000',
,但也是必需的。
我仍然尝试使用参数present
和sometimes
,但仍然需要该字段。
如果仅选择图像,我该如何验证?
答案 0 :(得分:7)
'avatar' => 'sometimes|mimes:jpeg,jpg,png,gif|max:100000'
在某些情况下,只有在输入数组中存在该字段时,您可能希望对字段运行验证检查。要快速完成此操作,请添加有时规则。
null
使用: 'avatar' => 'nullable|mimes:jpeg,jpg,png,gif|max:100000'
验证字段可能 null 。这在验证原语(如字符串和可包含空值的整数)时特别有用。要快速完成此操作,请添加可空规则。
答案 1 :(得分:1)
在您的情况下,您必须仅检查它是否存在 - 验证何时有值。所以请使用sometimes
“在某些情况下,您可能希望对a执行验证检查 仅当输入数组中存在该字段时才输入字段。快点 完成此操作,将有时规则添加到规则列表“
$v = Validator::make($data, array(
'email' => 'sometimes|required|email',
));
在你的情况下,
$v = Validator::make($data, array(
'avatar' => 'sometimes|mimes:jpeg,jpg,png,gif|max:100000',
));
注意:
以下代码将不执行任何操作,因为没有要验证的规则,因为即使它存在于POST数组中,也应该指定规则。并没有任何区别。
$v = Validator::make($data, array(
'avatar' => 'sometimes',
));
答案 2 :(得分:0)
您可以在规则中尝试'nullable'
。
答案 3 :(得分:0)
首先检查$request
对象。在您的请求中检查avatar
是否可用。然后试试这个:
'avatar' => 'sometimes|image|mimes:jpeg,bmp,png,gif|max:2048'
答案 4 :(得分:0)
我发现最有效的解决方案是使用window.open('http://' + sites[i],'_blank');
Rule::requiredIf