所以标题说所有,其他规则如“mimes”都有效,但我可以在没有文件上传的情况下提交表单。当然我可以在HTML中使用“required”attr,但我不想。
Controller
$rules = [
'img.*' => 'required|mimes:png,jpeg,jpg',
];
$customMessages = [
'img.required' => 'Yo, what should I call you?',
];
$this->validate($request, $rules, $customMessages);
View
<div class="form-group{{ $errors->has('img.'.$i) ? ' has-error' : '' }}">
<label for="img">File input</label>
<input type="file" class="form-control-file" id="img" value="{{old('img.'.$i)}}" name="img[]">
<small class="text-danger">{{ $errors->first('img.'.$i) }}</small>
</div>
我有其他输入,但使用type="text"
并且他们的"required"
规则正常。 type="file"
怎么了?找不到答案...
答案 0 :(得分:0)
在您的初始表单标记中添加以下内容:
ENCTYPE = “多部分/格式数据”
并删除name =“img []” 使用name =“img”
答案 1 :(得分:0)
你应该试试这个:
<input type="file" class="form-control-file" id="img" value="{{old('img.'.$i)}}" name="img[]" multiple>
$rules = [
'img' => 'required',
'img.*' => 'image|mimes:png,jpeg,jpg'
];
答案 2 :(得分:0)
public void ReturnJob(IJob job)
{
(job as IDisposable)?.Dispose();
}
Controller
$rules = [
'img' => 'required',
'img.*' => 'image|mimes:png,jpeg,jpg',
];
$customMessages = [
'img.required' => 'Yo, what should I call you?',
];
$this->validate($request, $rules, $customMessages);
form
答案 3 :(得分:0)
所以,问题出在我的div中的$iter
输入type="file"
它应该是这样的:
<div class="form-group{{ $errors->has('img') ? ' has-error' : '' }}">
<label for="img">File input</label>
<input type="file" class="form-control-file" id="img" value="{{old('img')}}" name="img[]">
<small class="text-danger">{{ $errors->first('img') }}</small>
</div>
但是,在我删除我的变量mimes后停止工作:)
$rules = [
'img' => 'required',
'img.*' => 'image|mimes:png,jpeg,jpg'
];
或
$rules = [
'img.*' => 'required|image|mimes:png,jpeg,jpg'
];