Yii的MD5验证器

时间:2014-10-03 11:27:35

标签: validation yii md5

最新版本的Yii 1.x has password hashing build in。但是,我们是否有一个MD5验证器的构建,所以我可以检查,如果特定字段真的包含有效的MD5哈希?

如果没有,如果我需要自己编写,是否有任何示例来源,我可以重复使用(不重新发明轮子)?或者我是否必须从头开始写自己?

1 个答案:

答案 0 :(得分:1)

这是一个验证代码示例:

public function validateMd5($attribute, $params)
{
    if(!$this->hasErrors() && $this->password !== '')
    {
        if(!preg_match('/^[a-f0-9]{32}$/', $this->password))
            $this->addError('password', 'Password field must contain valid MD5 hash!');
    }
}

这就是,如何将其添加到您的模型中(在rules()方法中):

array('password', 'validateMd5', 'on'=>array('create', 'update'))

如果用户输入到password字段的字符串是有效的MD5哈希,则此代码仅验证。它不验证密码本身。为此,您应该考虑例如CPasswordHelper::verifyPassword方法(例如 this answer)。