为了账号安全,请及时绑定邮箱和手机立即绑定

$ request-> validate()返回错误时,通过会话消息重定向

$ request-> validate()返回错误时,通过会话消息重定向

PHP
ABOUTYOU 2021-04-28 13:29:38
我正在通过使用控制器中的validate()方法来验证表单$request。它可以工作,但是除了错误消息(在$errors变量中可用)之外,我还希望将Session消息放置在警报组件上,这通常是我们with()在controller方法末尾返回视图时通过使用该方法来执行的操作。但是,当该validate()方法向我返回错误时,我没有找到将会话消息添加到其中的方法。代码是这样的:$request->validate([  'name' => 'required',  'cpf' => 'cpf|required',  'email' => 'email|required',  'data_de_nascimento' => 'date',  'data_de_pagamento' => 'date',  'modalidade' => 'required',  'instrutor' => 'required',  'avaliacao' => 'file|required',);我希望该validate()方法为我返回这些参数的会话:'message' => [  'content' => 'Check the mistaken information!',  'type' => 'danger',]是否可以?还是应该使用Validator类?
查看完整描述

3 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

为了使用$request->validate()并显示自定义错误消息,可以将消息数组传递给函数,如下所示:


$messages = [

    'name.required' => 'Please make sure your name is entered'

];


$request->validate([

    'name' => 'required'

], $messages);

并且您可以在表单中内联显示错误消息,如下所示:


<div class="col-md-12">

    <label for="name">{{ __('Name') }}</label>

    <input id="name" type="text" class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}" name="name" value="{{ old('name') }}">

    @if ($errors->has('name'))

        <span class="invalid-feedback" role="alert">

            <strong>{{ $errors->first('name') }}</strong>

        </span>

    @endif

</div>

或者您可以按照其他答案的建议将其显示为警报块


查看完整回答
反对 回复 2021-05-14
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

使用Validator类手动验证是一种方法。另外,您可以检查像


@if ($errors->any())

  <div class="alert alert-danger">Check the mistaken information!</div>

@endif


查看完整回答
反对 回复 2021-05-14
?
萧十郎

TA贡献1815条经验 获得超13个赞

在刀片文件中尝试一下


@if ($errors->any())

    <div class="alert alert-danger">

        <ul>

            @foreach ($errors->all() as $error)

                <li>{{ $error }}</li>

            @endforeach

        </ul>

    </div>

@endif


查看完整回答
反对 回复 2021-05-14
  • 3 回答
  • 0 关注
  • 263 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信