Yii2 自定义验证规则,使用三个属性比较函数

蓝宝石

我正在尝试修改 Yii2 中的自定义验证规则。我想比较三个属性,场景是这样的:

price_total必须大于(price_unit乘以 many_units)

这就是我正在做的:

public function rules() {
        return [            
            [['harga_total'], 'validateHarga', 'skipOnEmpty' => false, 'skipOnError' => false],
        ];
    }


public function validateHarga() {
        $a = $this->harga_total;
        $b = $this->harga_satuan;
        $c = $this->banyak_satuan;
        if ($a <= ($b * $c)) {
            $this->addError('harga_total', 'Harga Total harus lebih besar atau sama dengan harga satuan dikali dengan banyak satuan');
        }
    }

但表格没有显示错误或任何东西。

我在这个模型中所做的其他验证规则(不在像这样的函数中)工作正常。

我也尝试在规则函数中这样做,如下所示:

['harga_total', 'compare', 'compareAttribute' => ($this->harga_satuan * $this->banyak_satuan), 'operator' => '>=','message' => 'Harga total harus lebih atau sama dengan harga satuan', 'type' => 'number'],

也不行。

蓝宝石

答案

结果表明该功能有效,但不能直接在客户端使用。它在所有其他验证规则通过后工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章