这个视频我们完善一下验证用户输入的功能。目前我们把所有的验证规则都放到了控制器的方法里面。如果其它的地方需要用到这些规则,我们需要在其它的方法里面重新去定义这些规则。
其实我们可以在模型里,去定义这个验证的规则 ...
先复制一下定义这个规则的数组 ... 然后打开 Use 模型 ...
在这个模型里,我们可以定义一个静态的属性 .. 命名为 rules ... 它的值就是规则数组 ...
public static $rules = array(
'username' => 'required|min:3|max:10',
'email' => 'required|email|unique:users',
'password' => 'required|between:6,12|confirmed'
);
再回到 AccountController 这个控制器 ... 在 Validator 的 make 方法里,现在用的是 Input 类的 get 方法,分别得到用户输入的内容 ... 这里我们使用 Input 类的 all 方法,可以一次得到用户输入的所有的东西 ..
然后它的第二个参数是验证规则数组 ... 在 User 模型里已经定义好了这个数组 ... 因为它是一个静态属性 .. 所以,直接使用 User 冒号冒号 $rules .. 可以得到这个验证规则 ...
$validator = Validator::make(Input::all(), User::$rules);
这样我们的控制器就会瘦一点了 ...
再去浏览器上看一下 ... 什么也不填,直接点击 确认 ... 会出现错误的提示信息 ...
再回到控制器 ...