CAKEPHP 3 ,编辑操作失败,保存空白字段并进行完整性检查


CAKEPHP 3 , fails on edit action saving empty field with integrity check

在Cakephp中我们有一个函数

    public function buildRules(RulesChecker $rules) {
      $rules->add($rules->existsIn(['supplier_id'], 'Suppliers'));
    }

this 返回将用于验证的规则检查器对象应用程序完整性。http://book.cakephp.org/3.0/pt/orm/saving-data.html#applying-application-rules

但是当我们有一个不需要的字段时,例如supplier_id

->add('supplier_id', 'valid', ['rule' => 'numeric'])
->allowEmpty('supplier_id')

但是对构建规则进行了完整性检查,这将在编辑操作上失败,当我尝试将此字段更改为空以保存它时。

注意:这仅在我们在此字段上放置一个值然后对其进行编辑,放置一个空值然后再次保存后才会发生(此处保存失败)

如果你只想检查整数而不是空,那么创建一个buildRules函数需要什么?您可以直接执行此操作,它将在所有条件下工作。