我有一个来自表单的名为Photo
的字段。
首先,该字段必须required
才能发送,然后可以是数字编号或网址或新上传的照片文件。
我知道如何使用laravel validation rules来检查数字的位置。像这样:
'photo' => 'required|digit'
但我不知道如何查看照片是数字 网址还是上传文件。
当然,如果我这样写:
'photo' => 'required|digit|url|file'
在这种情况下,如果照片是一个数字并且不是网址,则laravel会给我错误。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:3)
你可以这样做:
应用/ HTTP /请求/ FormRequest.php 强>
public function rules()
{
if(is_numeric($this->photo)) {
$validation = 'digit';
} else if (!filter_var($this->photo, FILTER_VALIDATE_URL) === false) {
$validation = 'url';
} else {
$validation = 'file';
}
return [
'photo' => 'required|' . $validation
];
}
注意:未经测试,但它应该为您提供基本想法。