Laravel验证问题

时间:2014-04-09 13:35:45

标签: php validation laravel laravel-4

这是我的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";
    }
}

2 个答案:

答案 0 :(得分: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']

答案 1 :(得分: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']