0

CakePHPでは、検証ステートメントをコントローラー内に配置するときに、どのように日付検証を実現しますか。最初の検証ステートメントの後に2番目のifステートメントを置くことはできますか?systemdateが有効期限以前であるか、有効期限と等しいため、どのように検証するかわかりません

if($this->Invoice->validates(array('fieldList'=>array('Relationship.partyone','Relationship.active'))))
{
  $this->Invoice->create(); 
 if ($this->Invoice->saveAll($this->request->data,array('validate'=>false))) 
 { 
  $this->Session->setFlash('The invoice has been saved'); 
4

1 に答える 1

1

おそらく、日付と日付の比較のためにカスタム検証が必要です

モデル内

var $validate = array(
        'date' => array(
        'rule' => array('datevalidation', 'systemDate' ),
        'message' => 'Current Date and System Date is mismatched'
            )
        ); 

 function datevalidation( $field=array(), $compare_field=null ) 
    {
        if ($field['date'] > $compare_field)
        return TRUE;
        else return FALSE;
    } 

コントローラ内

if($this->Invoice->validates(array('fieldList'=>array('Relationship.partyone','Relationship.active',Relationship.date))))
于 2012-05-27T08:05:37.197 に答える