2015-12-14 45 views
4

下面是我的代碼來檢查記錄是否重複。查看錯誤列表中顯示重複的錯誤消息:Laravel 5

$Category = \App\Models\Category_Model 
      ::where("Category", "=", $request->input('Category'))->first(); 
if($Category != null) { 
    return 'Duplicate'; 
} 

有什麼辦法以這樣的方式注入驗證規則此錯誤消息,鑑於這個錯誤信息出現在下面的部分錯誤列表?

@if (count($errors) > 0) 
    <div class="alert alert-danger"> 
     <ul> 
      @foreach ($errors->all() as $error) 
       <li>{{ $error }}</li> 
      @endforeach 
     </ul> 
    </div> 
@endif 
+0

看看http://laravel.com/docs/5.1/validation –

回答

2

解決方法:1

Reference : unique:Name of the Table:

確保數據庫表中包含唯一約束。

$v = Validator::make($request->all(), [ 
    'Category' => 'required|unique:tblcategory|max:100|min:5' 
]); 

解決方案:2

$Category = \App\Models\Category_Model 
      ::where("Category", "=", $request->input('Category'))->first(); 

if($Category != null) { 

    $v->errors()->add('Duplicate', 'Duplicate Category found!'); 

    return redirect('Create-Category') 
       ->withErrors($v) 
       ->withInput(); 

} 
0

試試吧

創建CategoryFormRequest

namespace App\Http\Requests; 

use App\Http\Requests\Request; 
use Illuminate\Support\Facades\Input; 

class CategoryFormRequest extends Request { 

    public function authorize() { 
     return true; 
    } 

    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
    public function rules() { 
     $rules = [ 
      'Category' => ' required|unique:categories,Category', 
     ]; 
     if ($this->method() == 'PUT') { 
      $rules['Category'] = 'required|unique:categories,Category,' . $this->category; 
     } 
     return $rules; 
    } 

} 

控制器代碼

use App\Http\Requests\CategoryFormRequest as CategoryFormRequest; 
...... 
...... 
public function store(CategoryFormRequest $request) { 
    ....... 
    ....... 
} 

參考: - Request類laravel

0

你可以回到這樣有錯誤的看法:

return view('my_view')->withErrors(['Duplicate Record.']);