Skip to main content

自定义验证规则、组合验证

public function rules()
{
    return [
        ['key', 'string', 'max' => 20],
        ['key', 'validateVal', 'params' => ['message' => '非系统key']]
    ];
}

public function validateVal($attribute, $params)
{
    if (!in_array($this->$attribute, self::keyData(true))) {
      //模型层抛出异常
        $this->addError($attribute, $params['message']);
    }
}
//组合验证
['a1', 'unique'],
['a1', 'unique', 'targetAttribute'=>'a2'],
[['a1', 'a2'], 'unique', 'targetAttribute'=>['a1','a2']],
['a1', 'unique','targetAttribute'=>['a1','a2']],
['a1', 'unique', 'targetAttribute'=>['a2', 'a1'=>'a3']],