欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > thinkphp教程 >
thinkphp教程

thinkphp5.1验证器获取$data数据,自定义验证,多条件唯一性验证unique验证

(元素模板) / 2022-02-04 17:33
thinkphp5.1 验证数据唯一性 可以使用unique,但如果一个表里面需要判断2个ID类的数据不能重复,要是不同ID的可以相同,那如何解决呢?
使用下面代码,特别是红色部分代码


class Teacher extends Validate
{

    protected $rule = [
        'name'         =>  'require|max:20',
        'user_name'         =>  'require|max:20|unique:teacher',
        'role_id'    =>  'number',
        'mobile'    =>  'mobile|checkMobile',

    ];

    // 自定义验证规则
    protected function checkMobile($value,$rule,$data=[])
    {
        $rule = ['mobile'    =>  'unique:teacher,delete_time=0&mobile='.$data['mobile'],];
        return $this->check($data,$rule);
    }

    protected $message  =   [
        'name.max'     =>  '姓名不能超过20个字符',
        'name.require' =>   '姓名不能为空',
        'user_name.max' =>   '用户名不能超过20个字符',
        'user_name.require' =>   '用户名不能为空',
        'mobile.mobile' =>   '手机号码错误',
        'mobile.unique' =>   '手机号码存在,请确认后重新填写',

    ];
}
Copyright @ 2013-2021 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com