【发布时间】:2016-08-18 20:28:23
【问题描述】:
我是 Laravel 的新手,我开始了一个小项目来学习它。为此,我遇到了一个问题,正在寻找解决此问题的好方法。
我已经编写了一个类似于文档中的验证方法,并使用此函数验证我的表单。
public static function validate($object, $request) {
$object->validate($request, [
'type' => 'in:foo,bar',
'name' => 'required',
'description' => 'required',
]);
}
$obj = new Job();
$obj->validate($this, $request);
[...]
$obj->save();
这很好用,但有些模型有字段,这些字段是必需的,但大部分是我在控制器中预定义的。例如,当我为当前用户创建一个带有 user_id 字段的条目时。
$obj = new Obj();
$obj->user_id = Auth::user()->id;
$obj->validate($this, $request);
[...]
$obj->save();
user_id 不是 $request 对象的一部分,因此不会被验证。
所以我可以删除验证中的 required 或定义 2 个不同的验证函数。是否还有另一种可能?是否可以将字段添加到$request?什么是最好的可能性?
【问题讨论】:
标签: validation laravel laravel-5