如何在prestashop 1.6.3中设置密码验证规则

时间:2016-09-21 17:11:20

标签: prestashop prestashop-1.6

如何在prestashop 1.6.3中设置密码验证规则 我需要为alpha数字和一些验证规则添加验证。目前prestashop默认接受任何密码而不进行任何验证

2 个答案:

答案 0 :(得分:0)

您可以使用钩子actionBeforeSubmitAccount来实现这一点。在该钩子中,您可以验证任何POST字段并将错误传递给控制器​​的错误数组。

public function hookActionBeforeSubmitAccount()
{
    $password = Tools::getValue('passwd');
    // some validation logic here
    if ($some_validation_failed) {
        // Add error to AuthController's errors array
        $this->context->controller->errors[] = Tools::displayError('Password validation failed!');
    }
}

AuthController仅在其属性$errors数组为空时创建一个帐户,否则会将您重新置于帐户表单中并显示错误。

在验证时,几乎所有其他控制器的工作方式都相同。

答案 1 :(得分:0)

在文件/classes/Validate.php中,您将看到如下函数:

public static function isPasswd($passwd, $size = Validate::PASSWORD_LENGTH)
{
    return (Tools::strlen($passwd) >= $size && Tools::strlen($passwd) < 255);
}

此功能负责任何密码的当前验证,您可以根据您的要求进行相同的修改。