【问题标题】:Laravel Validation not returning errorLaravel 验证不返回错误
【发布时间】:2015-01-15 18:30:22
【问题描述】:

我是 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 验证返回失败(我的意思是批量分配不起作用且未注册,并重定向回创建页面。)问题是什么?

【问题讨论】:

  • 在我看来,您好像在 $fillable 数组中忘记了 title
  • City::$rules 在我看来很奇怪...应该是 City::rules 还是 City->rules
  • @TimLewis 这是访问静态属性的正确语法。
  • @lukasgeiter 哦,静态的,对。它仍然很丑:P
  • @Asker 哈哈不,你的语法比我在 SO 上看到的好多了。根据我的第一条评论,访问静态变量的语法。

标签: php forms validation laravel mass-assignment


【解决方案1】:

质量分配错误的原因几乎总是$fillable 数组中缺少属性。在您的情况下,它是title

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

编辑

显然问题实际上是$rules数组中的title,本来应该是name...

【讨论】:

  • 哦,你错了,问题出在我的$rules这里。我的意思是$rules 数组中的title 应该是name。无论如何,您的答案是正确的,因为它们应该是相同的。谢谢
  • 接受 + 赞成票 + 非常感谢 + 给我你的电子邮件 :)(开玩笑)
猜你喜欢
  • 2021-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-17
  • 2018-04-30
  • 2016-07-31
  • 2013-12-27
相关资源
最近更新 更多