2014-04-09 172 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']