## TP5实战开发---验证器篇 验证器 没有什么好说的 按照格式套用就好 ~~~ <?php 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