【发布时间】:2016-05-21 22:15:20
【问题描述】:
我是 laravel 的新手。这里我有一个表单,我必须填写一个名称字段并将其发送到控制器的 store() 方法进行验证。否则它将显示自定义错误。但是每当我提交带有或不带有输入的表单时,我都会收到以下错误。
传递给 Illuminate\Validation\Factory::make() 的参数 1 必须是 类型数组,给定字符串,调用 C:\xampp\htdocs\mylaravel\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php 在第 221 行并定义
出于实验目的,我使用以下格式捕获用户输入
$data = $request->input('name');
create.blade.php:
<h1>login form</h1>
@if($errors->has())
<div><span> Opps !! </span></br>
<ul>
@foreach ($errors->all() as $error)
<li> {{ $error }}</li>
@endforeach
</ul>
</div>
@endif
{!!Form::open(array('url'=>'user','method'=>'POST', 'files'=>true)) !!}
{!!Form::label('name','Your name')!!}
{!!Form::text('name')!!}
</br>
{!!Form::submit('submit')!!}
{!!Form::close()!!}
userController.php 文件中的store() 方法:
public function store(Request $request)
{
//
$data = $request->input('name');
$rules = array(
'name' => 'unique:users,name|required|alpha_num'
);
// Create a new validator instance.
$validator = Validator::make($data, $rules);
if($validator->fails()){
$errors=$validator->messages();
return Redirect::route('user.create')->withErrors($validator);
}else{
return Redirect::route('user.index');
}
}
}
【问题讨论】: