2014-04-17 3 views
0

를 실패한 경우, 다시 데이터를 전송하는 방법 :양식 : 검증이 코드를 가지고

public function actionJoin() { 
    $user = new RUser; 

    if (isset($_POST['RUser'])) 
     $user->attributes = $_POST['RUser']; 

    $this->render('join', 
    array(
     'user' => $user 
    ) 
); 
} 

아직 사용자가 등록 할 수 없습니다. 내가 알고 싶은 것은 데이터를 사용자에게 다시 보내는 방법입니다. 사용자 양식이 확인을 통과하지 못했다면 일부 데이터를 다시 보내야하므로 사용자가 다시 입력 할 필요가 없습니다.

$user->mail = $_POST['RUser']['mail']; 

을하지만 그건 여기에 프레임 워크의 힘을 사용하여 일반 PHP로 다시 포기하지 같습니다

나는이 함께 수행 할 수 있습니다.

가산. 출판 RUSER 클래스는, 경우에 필요한 :

class RUser extends CFormModel 
{ 
    public $mail; 
    public $alias; 

    public function safeAttributes() 
    { 
     return array(
      'mail', 'alias' 
     ); 
    } 
} 
+1

파일 코드를 표시하십시오. Actialy 당신은 이미 당신의 컨트롤러 ($ user-> attributes = $ _POST [ 'RUser'];) 코드에 의해 POST 요청으로부터 뷰로 데이터를 보냈습니다. – user1852788

답변

1

YII의 어떤 버전 당신은 사용합니다. Yii 1.1에는 safeAttributes가 없습니다. 다음을 사용하십시오.

public function rules() 
{ 
    return array(
     array('mail, alias', 'safe'), 
    ); 
} 
+0

그것은 작동합니다, tnx! 그래서 Yii에서는 기본적으로 모든 속성이 UNSAFE입니까? –

+0

예. 보안상의 이유로 기본 속성은 안전하지 않습니다. 사용자는 안전, 요청 등으로 규칙을 무시할 수 있습니다. – KNaito