我想在多个模型之间共享验证功能。 就像控制器中的组件一样。
我认为扩展 AppModel 不是一种选择,因为该功能不适用于我的所有模型,只有 3 个。
如果可能的话,我想做 DRY。
我想在多个模型之间共享验证功能。 就像控制器中的组件一样。
我认为扩展 AppModel 不是一种选择,因为该功能不适用于我的所有模型,只有 3 个。
如果可能的话,我想做 DRY。
要在 CakePHP 中的模型之间共享方法,请使用Behaviors(控制器组件的模型等价物)。
您可以执行以下操作来定义您的自定义验证规则:-
// app/Model/Behavior/ValidateBehavior.php
class ValidateBehavior extends ModelBehavior {
public function customValidationRule($Model, $data) {
// some validation code
}
}
// example model
class Example extends AppModel {
public $actsAs = array('Validate');
public $validate = array(
'field' => array(
'custom' => array(
'rule' => array('customValidationRule')
)
),
);
}
您是否尝试创建一个函数来验证 appModel 并在模型之间调用或动态添加?添加您自己的验证方法
或扩展 de 验证类core-validation-rules