Laravel Validation не возвращает ошибку

Я новичок в Ларавеле.

Это мой контроллер 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, я имею в виду массовое назначение, которое не работает и не регистрируется, и перенаправляет обратно на страницу создания.) в чем проблема?

0

Решение

Почти всегда причина ошибка массового присваивания отсутствует атрибут в $fillable массив. В вашем случае это title,

protected $fillable = ['title', 'name', 'parent_id', 'english_name','population','phone_prefix','image'];
^

редактировать

Видимо проблема была в том что title в $rules массив, который должен был быть name

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]