2014-04-09 168 views
0

這是我的Laravel驗證器的代碼,無論我做什麼,瀏覽器都回應「Bye」 出現了什麼問題?Laravel驗證問題

public function store() 
{ 
    $validator = Validator::make(
    [Input::get('title'),Input::get('body')], 
    [Input::get("title") => 'required|min:5',Input::get("body") => 'required|min:5'] 
    ); 

    if ($validator->fails()) { 
     return "Bye"; 
    } 
} 

回答

1

錯誤是在這一行

[Input::get('title'),Input::get('body')] 
[Input::get("title") => 'required|min:5',Input::get("body") => 'required|min:5'] 

您使用輸入字段值不是輸入字段,所以沒有規則附加在值名稱上,因此將其替換爲

Input::only('title','body') 
['title' => 'required|min:5', 'body' => 'required|min:5'] 
0

您在代碼的兩個部分出現問題,而且這個問題可能適合您。

public function store() 
{ 
    $validator = Validator::make(
     Input::only('title','body'), 
     ['title' => 'required|min:5','body' => 'required|min:5'] 
    ); 

    if ($validator->fails()) { 
     return "Bye"; 
    } 
} 

的問題是在規則

[Input::get('title'),Input::get('body')], 

這不是你應該通過他們的方式,你需要一個關聯數組,所以你有兩個選擇:

['title' => Input::get('title'), 'body' => Input::get('body')], 

Input::only('title','body'), 

而你是否牛逼傳遞字段的名稱,但輸入值

[Input::get("title") => 'required|min:5',Input::get("body") => 'required|min:5'] 

這將是穿過田野名的方式:

['title' => 'required|min:5', 'body' => 'required|min:5']