在给定模型之间共享自定义验证方法
Share custom validation method between given models
我想在多个模型之间共享验证函数。
喜欢控制器中的组件。
我认为扩展 AppModel 不是一个选项,因为该功能不适用于我的所有模型,只有其中的 3 个。
如果可能的话,我想把它干掉。
您是否尝试创建一个函数来验证 appModel 并在模型之间调用或动态添加? adding-your-own-validation-methods
或扩展验证 class core-validation-rules
要在 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 不是一个选项,因为该功能不适用于我的所有模型,只有其中的 3 个。
如果可能的话,我想把它干掉。
您是否尝试创建一个函数来验证 appModel 并在模型之间调用或动态添加? adding-your-own-validation-methods
或扩展验证 class core-validation-rules
要在 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')
)
),
);
}