Laravel 5 Laravel 5:检查具体错误

Laravel 5 Laravel 5:检查具体错误,laravel-5,Laravel 5,我有密码和确认密码输入。我对这些输入进行了编码,以便在发生错误时突出显示输入,如下所示: <div class="form-group {{ $errors->has('password') ? 'has-error' : '' }}> <label>Password</label> <input type="password" name="password" class="form-control"> </div>

我有密码和确认密码输入。我对这些输入进行了编码,以便在发生错误时突出显示输入,如下所示:

<div class="form-group {{ $errors->has('password') ? 'has-error' : '' }}>
    <label>Password</label>
    <input type="password" name="password" class="form-control">
</div>

<div class="form-group {{ $errors->has('password_confirmation') ? 'has-error' : '' }}>
    <label>Password</label>
    <input type="password" name="password_confirmation" class="form-control">
</div>
当任一输入为空和/或少于8个字符时,输入将按预期高亮显示。但是,当输入不匹配时,逻辑上我希望确认密码输入高亮显示。但是,突出显示的是密码字段,因为这是“确认”规则设置的输入


“$errors->has()”方法只是检查输入是否存在错误。是否有方法检查输入是否有特定类型的错误?

是的,您可以使用以下方法获取给定输入名称的错误数组:

{{ $errors->get('password') }}
因此,您可以检查密码错误数组是否存在确认错误,然后将附加类添加到确认输入字段:

 @if (in_array(trans('validation.confirmed', ['attribute' => 'password']), $errors->get('password'))) has-error @endif
不同版本的Laravel的辅助方法可能有所不同:

Laravel<5.4
trans('validation.confirm',['attribute'=>'password'])


Laravel 5.4
('validation.confirmed',['attribute'=>'password'])

为了澄清,在Laravel 5.4中应该是“(在数组中('validation.confirmed',['attribute'=>'password']),$errors->get('password'),对吗?用两个下划线代替“trans”?是的,我没有试过,但你可以在这里读到更多:哦,很有趣。因此,如果我理解正确,我基本上是将存储的错误消息与从无效提交中获得的消息进行比较,对吗?没错,这部分当然是可选的。也许我应该把它排除在回答之外你说的可选是什么意思?
 @if (in_array(trans('validation.confirmed', ['attribute' => 'password']), $errors->get('password'))) has-error @endif