THINKPHP5复杂验证条件使用

      发布在:后端技术      评论:0 条评论

如果需要对复杂的条件验证唯一,可以使用下面的方式:

// 多个字段验证唯一验证条件'name'   => 'unique:user,status^account',// 复杂验证条件'name'   => 'unique:user,status=1&account='.$data['account'],

如上是官方的使用说明,我以为可以直接写在$rule数组内直接就报错 ,

后面看到如下可以动态赋值

public function __construct(array $rules = array(), $message = array(), $field = array())
{
//如果是编辑模式,则排除下主键
   $ids = request()->param("ids");
if ($ids) {
$this->rule['name|名称'] = "require|unique:cms_fields,source^source_id^name,{$ids},id";
} else {
$this->rule['name|名称'] = "require|unique:cms_fields,source^source_id^name";
}
parent::__construct($rules, $message, $field);
}

于是知道实战中地 使用

    public function __construct(array $rules = array(), $message = array(), $field = array())
{
$data= request()->param("row/a");
//        动态赋值复杂验证条件使用
       $this->rule['kq_month'] = "unique:kaoqin,kq_month={$data['kq_month']}&staff_id={$data['staff_id']}";
parent::__construct($rules, $message, $field);
}


相关文章
热门推荐