2014-01-12 3 views
0

저장하기 전에 사용자의 양식에 게시 된 날짜가 범위에 있는지 확인하려면 어떻게해야합니까? 다른 시나리오 날짜 범위를 확인하는 것이 좋습니다. 아래는 그 중 하나입니다. 범위에 포함되지 않으면 게시합니다.yii에 저장하기 전에 날짜가 범위 내에 있지 않은지 확인하십시오.

더 좋은 방법은이 방법이 있습니까? 규칙에서

추가 :이 규칙은 삽입 및 업데이트 모두 작동합니다

$model = Table::model(); 
    $criteria = new CDbCriteria; 
    //this is where i don't know how to get the values ($start,$end) from user before posting 

    $criteria->addCondition('start_date < '.$start); 
    $criteria->addCondition('end_date > '.$end); 

답변

1

당신은 지정 유효성 검사 기능을 만들어야합니다. 사용자 정의 유효성 검사 기능에서

public function rules() 
{ 
    return array(
     array('dateField', 'myCheckdate',), 
    ); 
} 

, 당신은 날짜 범위

public function myCheckdate($attribute,$params) 
    { 
     if(!$this->hasErrors()) 
     { 
      if(Condition == false) // place your condition here 
      { 
       $this->addError($attribute,'The date is incorrect.'); 
      } 
     } 
    } 
를 확인하는 코드를 적용 할 수 있습니다
관련 문제