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



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

harga_total必须大于(charga_satuan乘以banyak_satuan(

这就是我正在做的:

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'],

也不起作用。

答案

事实证明,该功能是有效的,但不是直接在客户端。它在通过所有其他验证规则后才起作用。

相关内容

  • 没有找到相关文章

最新更新