【问题标题】:Laravel 5.2.26 get form validation data arrayLaravel 5.2.26 获取表单验证数据数组
【发布时间】:2016-08-20 05:46:41
【问题描述】:

我提交表单并有一些验证意味着电子邮件,要求,唯一电子邮件,

当验证有错误信息时,laravel 5.2 返回验证返回数组。

【问题讨论】:

  • 你能告诉我你是如何得到这个对象的吗?
  • 当任何人提交表单并清空用户名或电子邮件时,我将在控制器中创建验证。如果用户没有用户名和电子邮件验证返回错误数组以及表单数据我需要表单数据
  • 为什么不直接使用请求数据?
  • 我是 laravel 新手,请帮助如何使用请求数据?

标签: validation laravel


【解决方案1】:

我猜你想保留提交的错误数据。

考虑样本

public function postJobs(Request $request) {
    $input     = $request->all(); 

    $messages  = [
        'job_title.required'      => trans('job.title_required'),
    ];        

    $validator = Validator::make($request->all(), [
        'job_title'    => 'required'
    ], $messages);       

    if ($validator->fails()) {  // redirect if validation fails, note the ->withErrors($validator)

        return redirect()
            ->route('your.route')
            ->withErrors($validator)
            ->withInput();
    }

 // Do other stuff if no error

}

而且,在视图中你可以处理这样的错误:

 <div class="<?php if (count($errors) > 0) { echo 'alert alert-danger'; } ?>" >

    <ul>
        @if (count($errors) > 0)
            @foreach ($errors->all() as $error)
                <li>{!! $error !!}</li>
            @endforeach
        @endif
    </ul>
</div>

如果你想要输入数据,你需要使用-&gt;withInput(); 重定向,它可以在视图中获取,例如:

更新

 <input name= "job_title" value="{{ Request::old('job_title') }}" />

但是,最好的办法是使用 laravel Form 包,这样它们都会自动处理。

【讨论】:

  • 我已经得到 $error 消息数组,但我需要我在图像中显示的数据数组我已经将此代码视图代码用于错误数组
  • 查看我的更新答案。这有帮助吗?我猜你想在发生错误时保留提交的数据?
  • 可以解释更多@VipindasKS
  • 请参阅我的答案return redirect() -&gt;route('your.route') -&gt;withErrors($validator) -&gt;withInput(); 中的行,这将重定向表单而不会丢失表单字段值。因此您可以在 等字段中调用它
  • 再次,这是假设您需要显示填充已提交数据的表单字段,当某些字段未通过验证时。因此,您无需再次填写。
【解决方案2】:

如果只需要表单数据,可以使用Request对象:

 public function store(Request $request)
 {
     $name = $request->input('firstName');
 }

https://laravel.com/docs/5.1/requests#accessing-the-request

或者,您可以使用$request-&gt;get('firstName');

【讨论】:

    【解决方案3】:

    使用old() 从输入中获取先前的值。示例:

    <input name="firstName" value="{{old('firstName')}}">
    

    在此处查看文档https://laravel.com/docs/5.1/requests#old-input

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-05
      • 2016-08-28
      • 1970-01-01
      • 2019-01-24
      • 2017-10-08
      • 2019-08-09
      • 1970-01-01
      • 2016-08-10
      相关资源
      最近更新 更多