Laravel 验证未返回错误
Laravel Validation not returning error
我是 Laravel 的新人。
这是我的 laravel 控制器:
public function store()
{
$validator = Validator::make($data = Input::all(), City::$rules);
if ($validator->fails())
{
return Redirect::back()->withErrors($validator)->withInput();
}
$image_temp=Input::file('image');
$name = Input::file('image')->getClientOriginalName();
$data['image']='';
if(Image::make($image_temp->getRealPath())->save('public/up/city/'.$name)){
$data['image']='up/city/'.$name;
}
City::create($data);
return Redirect::route('admin.cities.index');
}
这是我的模型:
class City extends \Eloquent {
protected $primaryKey='city_id';
// Add your validation rules here
public static $rules = [
'title' => 'required',
'image' => 'mimes:jpeg',
'parent_id' => 'required',
'name' => 'required',
'english_name'=>'unique:cities,english_name|required'
];
// Don't forget to fill this array
protected $fillable = ['name', 'parent_id', 'english_name','population','phone_prefix','image'];
}
我有一个表单,我在我的表单输入下面使用 {{ $errors->first('inputName','<p class="error">:message</p>') }}
,当我发送表单而不填写输入时,我在每个表单输入下都会出错。但是当我填写所有表单输入然后提交 Laarvel 验证时 return 失败(我的意思是批量分配不起作用且未注册,并重定向回创建页面。)问题是什么?
几乎总是 批量分配错误 的原因是 $fillable
数组中缺少属性。在你的情况下是 title
.
protected $fillable = ['title', 'name', 'parent_id', 'english_name','population','phone_prefix','image'];
^
编辑
显然问题实际上是 $rules
数组中的 title
,它应该是 name
...
我是 Laravel 的新人。
这是我的 laravel 控制器:
public function store()
{
$validator = Validator::make($data = Input::all(), City::$rules);
if ($validator->fails())
{
return Redirect::back()->withErrors($validator)->withInput();
}
$image_temp=Input::file('image');
$name = Input::file('image')->getClientOriginalName();
$data['image']='';
if(Image::make($image_temp->getRealPath())->save('public/up/city/'.$name)){
$data['image']='up/city/'.$name;
}
City::create($data);
return Redirect::route('admin.cities.index');
}
这是我的模型:
class City extends \Eloquent {
protected $primaryKey='city_id';
// Add your validation rules here
public static $rules = [
'title' => 'required',
'image' => 'mimes:jpeg',
'parent_id' => 'required',
'name' => 'required',
'english_name'=>'unique:cities,english_name|required'
];
// Don't forget to fill this array
protected $fillable = ['name', 'parent_id', 'english_name','population','phone_prefix','image'];
}
我有一个表单,我在我的表单输入下面使用 {{ $errors->first('inputName','<p class="error">:message</p>') }}
,当我发送表单而不填写输入时,我在每个表单输入下都会出错。但是当我填写所有表单输入然后提交 Laarvel 验证时 return 失败(我的意思是批量分配不起作用且未注册,并重定向回创建页面。)问题是什么?
几乎总是 批量分配错误 的原因是 $fillable
数组中缺少属性。在你的情况下是 title
.
protected $fillable = ['title', 'name', 'parent_id', 'english_name','population','phone_prefix','image'];
^
编辑
显然问题实际上是 $rules
数组中的 title
,它应该是 name
...