这是我的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";
}
}
答案 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']