way / database2
此包已被废弃,不再维护。未建议替代包。
此包的最新版本(dev-master)没有可用的许可证信息。
dev-master
2014-07-07 12:29 UTC
Requires
- php: >=5.3.0
- illuminate/database: 4.1.x
- illuminate/support: 4.1.x
- illuminate/validation: 4.1.x
Requires (Dev)
- mockery/mockery: dev-master
This package is not auto-updated.
Last update: 2018-10-01 02:27:15 UTC
README
此包为您处理模型验证过程。无需手动进行繁琐的 Validator::make(...)
过程,只需保存模型,此包将处理其余部分。
用法
通过 Composer 安装此包。
{ "require": { "laravel/framework": "4.0.*", "way/database": "dev-master" } }
然后,而不是从您的模型扩展 Eloquent
,扩展 Way\Database\Model
,如下所示
<?php class Dog extends Way\Database\Model { }
或者,编辑 app/config/app.php
,并在 aliases
数组中添加一个新项
'Model' => 'Way\Database\Model'
现在,您的模型可以简单地扩展 Model
。
<?php class Dog extends Model { }
验证
此包通过 Eloquent 的 save
事件进行挂钩,并自动将模型的当前属性与您为模型设置的规则进行验证。
以下是为模型设置验证规则的示例
<?php class Dog extends Model { protected static $rules = [ 'name' => 'required' ]; //Use this for custom messages protected static $messages = [ 'name.required' => 'My custom message for :attribute required' ]; }
现在,只需像往常一样保存模型,让包来处理验证。如果验证失败,则模型的 save
方法将返回 false。
以下存储新狗的示例
public function store() { $dog = new Dog(Input::all()); if ($dog->save()) { return Redirect::route('dogs.index'); } return Redirect::back()->withInput()->withErrors($dog->getErrors()); }
如果使用 Eloquent 的静态 create
方法,可以使用 hasErrors()
方法确定是否存在验证错误。
$dog = Dog::create(Input::all()); if ($dog->hasErrors()) ...
就这样!祝您玩得开心。