Validation 验证后填充的字段将变为空

Validation 验证后填充的字段将变为空,validation,laravel,Validation,Laravel,我创建了一个带有验证的laravel表单,这里的问题是,当我保留空字段时,它会显示错误消息(这没问题),但是如果我填充了一些字段,而其他字段没有,它会刷新,然后现在填充的字段是空的,并且还会显示该字段的错误消息 public function store() { $data = [ "errors" => null ]; $rules = array( "car" => "required

我创建了一个带有验证的laravel表单,这里的问题是,当我保留空字段时,它会显示错误消息(这没问题),但是如果我填充了一些字段,而其他字段没有,它会刷新,然后现在填充的字段是空的,并且还会显示该字段的错误消息

public function store() {
        $data = [
            "errors" => null
        ];
        $rules = array(
            "car" => "required|unique:insur_docs,car_id", 
            "ownership_cert" => "required",
            "authoriz" => "required",            
            "drive_permis" => "required",
            "sgs" => "required",
            "tpl" => "required",
            "kasko" => "required",
            "inter_permis" => "required",
        );
        $validation = Validator::make(Input::all(), $rules);
        $cars = DB::table('cars')->orderBy('Description', 'asc')->distinct()->lists('Description', 'id');  
        if ($validation->passes()) {
            $doc = new InsurDoc();
            $doc->ownership_cert = Input::get('ownership_cert');
            $doc->authoriz = Input::get('authoriz');
            $doc->drive_permis = Input::get('drive_permis');
            $doc->sgs = Input::get('sgs');
            $doc->tpl = Input::get('tpl');
            $doc->kasko = Input::get('kasko');
            $doc->inter_permis = Input::get('inter_permis');
            $doc->car_id = Input::get('car');
            $doc->save();
            return Redirect::to('/');
        } else {
            $data['errors'] = $validation->errors();
            $data['cars'] = $cars;
                return View::make('pages.insur_docs_create', $data);
        }
    }
看法

@if($errors->count()>0)
发生了以下错误:

    @foreach($errors->all()作为$message)
  • {{Helpers\Helper::macro($message)}
  • @endforeach
@恩迪夫
宏函数

public static function macro($errors) {
            return   "<span class=\"glyphicon glyphicon-warning-sign\">"
                    . "</span> $errors";

    }
公共静态函数宏($errors){
返回“”
.“$错误”;
}
哪里出了问题?

在控制器中添加
Input::flash()
,并在视图中将其与
Input::old('field\u name')
一起使用


谢谢,另一个问题是,当我刷新页面时,没有显示任何字段:/因为我们正在商店中进行验证?知道如何解决这个问题吗?刷新时,您的页面是否也会这样?
public static function macro($errors) {
            return   "<span class=\"glyphicon glyphicon-warning-sign\">"
                    . "</span> $errors";

    }
            Input::flash(); // Add this
            $data['errors'] = $validation->errors();
            $data['cars'] = $cars;
                return View::make('pages.insur_docs_create', $data);
        }
    }