## TP5实战开发---验证器篇
验证器 没有什么好说的 按照格式套用就好
~~~
namespace app\base\validate;
/**
* Created by PhpStorm.
* Power by Mikkle
* QQ:776329498
* Date: 2017/2/22
* Time: 15:01
*/
class Member extends \think\Validate
{
//规则
protected $rule = [
['mobile','regex:1[34578]\d{9}', '请输入正确的手机号码'],
['userid','alphaDash|length:4,25', '请输入正确的用户名(为字母和数字,下划线_及破折号-)|用户名长度必须在4--20位之间'],
['userpwd','require|alphaDash|length:4,25', '密码不能为空|请输入正确的密码(为字母和数字,下划线_及破折号-)|密码长度必须在4--20位之间'],
['code','require|regex:\d{5}', '手机验证码不能为空|请输入正确的手机验证码'],
];
//场景不同场景验证不同的字段
protected $scene = [
'login' => ['userid','userpwd','mobile'],
'reg' =>['mobile','userpwd','code']
];
}
~~~
有几种常用的特殊的规则,在实际开发中还是很常用的,我这里介绍一下
1.字段防止重复
~~~
['package_name','require|length:2,15|unique:package', '菜品套餐名称不能为空|请输入正确的菜品套餐名称(2~15位)|菜品套餐名称已经存在'],
~~~
2.多字段防止重复
~~~
['package_id','require|number|unique:packageProductAccess,package_id^package_category_id^product_id', '菜品套餐不能为空|请输入正确的ID|已经添加过了,请勿重复添加'],
~~~
~~~
['my_uuid','require|unique:userCollection,my_uuid^my_guid', '用户为空|已经收藏过本产品 请勿重复收藏'],
~~~
3.自定义正则
~~~
['mobile','regex:1[34578]\d{9}', '请输入正确的手机号码'],
~~~
更多规则参见完全开发手册
http://www.kancloud.cn/manual/thinkphp5/129356