php - 在 Yii 2 的内联验证器中验证多个属性

标签 php yii yii2

我知道您可以使用 inline validator 验证单个属性比如:

['country', 'validateCountry']

public function validateCountry($attribute, $params)
{
    if (!in_array($this->$attribute, ['USA', 'Web'])) {
        $this->addError($attribute, 'The country must be either "USA" or "Web".');
    }
}

但是我该如何将多个属性传递给验证器呢? ...还是应该在验证器中通过 $this 引用它们?

最佳答案

而不是直接访问额外的字段,例如使用 $this->email,您可以将额外的属性作为 params 中的字段传递,例如 compareValidator工作即

['username', 'customValidator', 'params' => ['extraFields' => 'email']]


public function customValidator($attribute, $params) {
    //access extrafields using $this->{$params['extraFields']}
}

关于php - 在 Yii 2 的内联验证器中验证多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27168370/

相关文章:

php - Mongodb 数据库上的 SASL 身份验证失败

php - 如何从 php webservice 获取许多 vars 到 iPhone 应用程序?

php - 在 include() 之前使用变量

php - Yii - Css - 多个链接的一个事件效果

yii - 为什么 Yii2 在 yii\caching\Cache 中使用缩写的方法名称?

php - 与 PHP 和 mySQL 的异步事务

yii 框架 : url routing

yii - 如何在yii框架中显示对数据库的所有查询

php - yii2 POST参数映射

php - 在 Heroku 上设置 Yii2 Advanced