2015-11-23 82 views

回答

0

要共享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') 
      ) 
     ), 
    ); 
} 
0

您是否嘗試創建一個函數來在appModel中驗證並在模型之間調用或添加dinamicly? adding-your-own-validation-methods

或擴展德驗證類core-validation-rules

+0

是的,但根據我的問題它不是適用。 重寫Validation並不容易,因爲它的方法是靜態的,而且它們是以靜態方式(使用類名稱)調用的。 –