CakePHP Howto 允许值从 A 更改为 B,但反之则不行(B 到 A)

CakePHP Howto allow value change from A to B but not vice versa (B to A)

我使用表单助手创建了一个表单,其中一个字段是 select 值(例如)A 和 B。

添加记录时,选项A和B均可用。 您也可以稍后编辑记录,但是:我想允许从 A 切换到 B,但不允许从 B 切换到 A!

我怎样才能安全又漂亮地做到这一点?

:

  1. 我在模型中有一个 'rule' => array('inList', array('A', 'B'))
  2. 我不想要一个可以从前端的 'Inspect element' 修改或以其他方式进行 Post 操作

提前致谢!

Write a custom validation rule with the logic to check that and apply it on edit only.

public $validate = array(
    'yourField' => array(
        'on' => 'update',
        'rule' => array('checkAandB'),
        'message' => 'You cant go back to A'
    )
);

public function checkAandB($check) { /* your check logic here*/ }