2014-10-04 77 views
1

我想知道如何在执行验证后访问laravel验证器错误,我想要完成的是创建一个带有数据的新模型,然后使用验证器对象验证它,然后存储该模型的id和数组中的错误消息,然后在我的刀片页面中做一个循环,并输出错误信息。有人可以看看我的代码并纠正任何错误,并帮助指导我,使代码做需要做的事情 - 感谢laravel验证器和错误集合

public function store() { 

    $products = []; 
    $id = Input::get('id'); // multiple id's 
    $title = Input::get('title'); // multiple title's 
    $price = Input::get('price'); // multiple price's 

    for ($i=0, $c = count($id); $i<$c; ++$i) { 
     $product = New Product([ 
      'id' => $id[$i], 
      'title' => $title[$i], 
      'price' => $price[$i] 
     ]); 

     $validator = Validator::make(
      $data = $product, 
      Product::$rules, 
      Product::$rulesMessages 
     ); 

     // below is what I think I need to do need sum help 
     if($validator->fails()) { 
      $record = []; 
      $record["id"] = $product=>id; // is this right 
      $record["errors"] = $validation->errors(); // how do you get errors 
     } 

     $products[] = $record; 
    } 
} 

回答

2

验证器有一个方法 - >消息()返回的实例MessageBag类,填充生成的错误(如果验证器失败)。

$validator->messages()->toArray(); 

会给你一个包含所有错误的数组。