Yii2自定义验证类

首页 / php框架 / 正文

Yii2自定义验证类

创建一个验证器类

可以放在你规划好的命名空间下创建一个类。继承yii\validators\Validator

class MobileValidator extends yii\validators\Validator
{
    protected function validateValue($value) 
    {
        if(preg_match('/^1[0-9]{10}$/', $value)){
           return null;
        }else{
            $message = $this->message ? $this->message : '手机号码不正确';
            return [$message, []];
        }
    }
}

使用方法,在model的ruler中直接设置

public function rules()
{
    return [
        ['phone', 'common\MobileValidator'];  
    ]
}

在model中创建一个验证

// 在某个model下创建一个方法
public function uniqueOurs($attribute)
{
    $res = self::find()->where(['name' => $this->name])->one();
    if ($res1) {
        return $this->addError($attribute, '已存在改名称');
    }
}

使用方法,在model的ruler中直接调用

public function rules()
{
    return [
        ['name', 'uniqueOurs'];
    ];
}
打赏
评论区
头像
文章目录