0

我想在验证时将新创建的模型的属性之一与相关模型的属性进行比较。我搜索了一段时间,并没有真正找到任何有用的信息。

在我的其他模型之一中,更新时,这段代码正在工作(在模型中):

public function compareWithDescendantsKeszDb() {
    $gyermek = $this->descendants(1)->find();

    if ($gyermek <> null) {
        if ($gyermek->keszDb < $this->keszDb) {
            $this->addError('keszDb', Yii::t('validation', 'some error message'));
        }
    }
}

public function rules() {
    return array(
        array('keszDb', 'compareWithDescendantsKeszDb'),
    );
}

但同样的方法现在似乎不起作用,也许是因为它现在是一个创建函数。我试过这样(也在模型中):

public function compareWithSzeriaGyartmanyDb() {
    $szeriaGyartmany = SzeriaGyartmany::model()->findByPk($this->szeriaGyartmanyId);

    if ($this->db > $szeriaGyartmany->db) {
        $this->addError('db', Yii::t('validation', "Error: maximum you can save is $szeriaGyartmany->db"));
    }
}

public function rules() {
    return array(
        array('db', 'compareWithSzeriaGyartmanyDb'),
    );
}

我希望有点清楚我想要实现的目标。有人可以指出我正确的方向吗?非常感谢!

BR c

4

1 回答 1

0

尝试使用安全属性进行验证,如图所示

 public function rules() {
        return array(
            array('db', 'compareWithSzeriaGyartmanyDb','safe'),
        );
    }
于 2013-06-22T12:50:35.997 回答