- 验证规则
- 验证规则,提供了大量的使用封装好的规则,我们只需要进行调用即可;
- 基础课程中,我们使用了required、min和max这三种比较简单的;
- 下面,我们挑出比较典型常用的,演示一遍,具体大全网址如下;
https://learnku.com/docs/laravel/7.x/validation/7467#available-validation-rules
PS:约 66 个
(1) .alphadash: 字段必须有字母,数字破折号(-)和下划线()构成的
‘username’ => ‘required|alpha_dash’,
(2) .between: 字段长度必须在指定的区间之间;
‘username’ => ‘required|between:2,6’,
(3) .size:6: 字段长度固定在某个值
‘username’ => ‘required|size:6’,
(4) .email: 字段必须符合email格式; 例如:27232580745@qq.com
‘username’ => ‘required|email’,
(5) .unique:users: 字段值是唯一的,通过指定数据表字段检查;
‘username’ => ‘required|unique:users’,
(6) .confiremed: 这个基本用于密码和密码却认,固定了字段名称,也就是说下面这个input的name属性password_confirmation
‘password’ => ‘required|min:6|confirmed’
(7) different:password: 字段和另一个字段不可以相同的验证;
‘username’ => ‘required|different:password’,
(8) ip/json: 字段是否是ip地址/字段是否json数据;
‘username’ => ‘required|ip’,
‘username’ => ‘required|json’,
- 其它用法
- 验证方法还提供了Rule类提供更加流畅的验证构造,比如in、not_in
‘username’ => ‘required|in:tom,Gatsby,lusy’,
‘username’ => [
‘required’,
Rule::in([‘tom’,’lusy’,’Gatsby’])
],
//如果只验证一个规则,不需要数组,如果规则名有下划线,首字母大写
‘username’ => [
‘required’,
Rule::notIn([‘yiwen’,’lusy’,’Gatsby’])
],
b. Rule类还可以结合where来限制验证范围等操作;
//验证是否重复
‘username’ => Rule::unique(‘users’),
‘username’ => Rule::unique(‘users’)->where(function ($query) {
$query->where(‘id’, 20);
}),