2011-10-03 107 views
0

我有一些條件是有效的,必須在幾個領域,而不是一個,如何做到這一點。CakePhp:幾個字段的表單驗證?

一些示例對一個登記:

enterprise or firstName+lastName filled 
mobile phone number OR static phone number filled 

如何做到這一點?有沒有實施的方法,或者我每次都必須自己做?

謝謝

回答

1

寫自己的驗證規則。蛋糕書:Custom validation rules 附加規則到企業領域什麼檢查它是否被填充或第一,姓是填充。將另一個規則附加到名稱字段以檢查名稱或企業字段是否已填充。類似於手機領域。您位於模型中,因此您可以在$ this-> data中找到所有傳遞的字段

1

我不知道如果我理解正確的問題,但你可以創建自己的驗證規則,然後應用它所需的字段(不是真的周圍的其他方法)。 See here

否則CakePHP有大量的預建的驗證規則下面是一個例子:

var $validate = array(
    'title' => array(
     'titleRule1' => array (
      'rule' => array('minLength', 1), 
      'required' => true, 
      'allowEmpty' => false, 
      'last' => true, 
      'message' => 'Please enter a title.' 
     ), 
     'titleRule2' => array(
      'rule' => array('between', 1, 100), 
      'message' => 'Your title must be between 1 and 100 characters long.' 
     ) 
    ), 
    'description' => array(
     'rule' => array('minLength', 1), 
     'required' => true, 
     'allowEmpty' => false, 
     'last' => true, 
     'message' => 'Please write a description.' 
    ) 
);