Laravel:$ errors-> first()不显示错误。如何使其运作?

时间:2019-06-06 12:18:52

标签: laravel laravel-blade

我想在每个表单元素下方显示验证错误。我使用了{{$ errors-> first('control1')}},但是它没有显示验证错误。 不知道如何解决这个问题。

以下是我的查看代码段。

                    <div class="form-group row">
                        <label for="control1" class="col-md-4 col-form-label text-md-left">{{ __('Number of control1') }}</label>
                        <input type="number" class="form-control col-md-8" id="control1" name="control1" value="{{ old('control1', 2) }}" required minvalue="1" />

                            @if ($errors->has('control1'))
                                <span class="invalid-feedback" role="alert">
                                    <strong>{{ $errors->first('control1') }}</strong>
                                </span>
                            @endif
                    </div>

在控制器动作中,写入以下验证。

$this->validate($request, [
            'control1' => 'required|min:1', 
        ]);

1 个答案:

答案 0 :(得分:0)

您正在验证名为sprints的字段。因此,从此更改验证器数组以匹配该数组:

$this->validate($request, [
    'sprints' => 'required|min:1', 
]);

对此:

$this->validate($request, [
    'control1' => 'required|min:1', 
]);

根据您的laravel版本,您甚至可以像这样简化它:

$request->validate([
    'control1' => 'required|min:1', 
]);

然后在您看来,这样写:

@error('control1')
    <span class="invalid-feedback" role="alert">
        <strong>{{ $message }}</strong>
    </span>
@enderror