way / database
此包已被弃用且不再维护。未建议替代包。
关于此包最新版本(dev-master)无可用许可证信息。
dev-master
2014-09-22 23:13 UTC
Requires
- php: >=5.4.0
- illuminate/database: ~4.1
- illuminate/support: ~4.1
- illuminate/validation: ~4.1
Requires (Dev)
- mockery/mockery: dev-master
This package is auto-updated.
Last update: 2024-05-30 12:43:49 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()) ...
就是这样!祝您玩得开心。