Laravel 5.2.26获取表单验证数据数组

时间:2016-04-26 11:55:49

标签: validation laravel

How to get form validation return data array on signup form

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

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

3 个答案:

答案 0 :(得分: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>

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

<强>更新

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

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

答案 1 :(得分:0)

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

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

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

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

答案 2 :(得分:0)

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

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

请参阅此处的文档https://laravel.com/docs/5.1/requests#old-input