2017-10-06 11 views
1

다음은 첨부 된 코드입니다. 속성이 누락되어 있으면 어떻게 오류 메시지를 표시 할 수 있습니까? 모든 속성이 양식에서 오는 것인지 아닌지 확인해야합니다. 어떤 애트리뷰트가 없으면 적절한 에러 코드와 함께 에러 메시지를 던지고 싶다.Yii2 Api에서 오류 메시지를 통과하는 방법?

$get_email  = Null; 
$get_password = Null; 
$get_username = Null; 

if (isset($_POST['username'])) { 
    $get_username = $_POST['username']; 
} 

if (isset($_POST['email']) && isset($_POST['password'])) { 
    $get_email = $_POST['email']; 
    $get_password = $_POST['password']; 
} 


if ($get_email == Null || $get_username == Null || $get_password == Null) { 
// through error code with message 
} 

else { 
    $model = new SignupForm(); 
    $model->email = $get_email; 
    $model->username = $get_username; 
    $model->password = $get_password; 
} 
+3

Yii2에서 사용자 입력 처리에 대해 읽었습니까? 귀하의 코드는 Yii2 코드가 아니며 순수한 PHP입니다. – Yupik

+2

왜 특성을로드하지 않고 validate()를 적용한 다음 $ model-> errors를 검사합니까? $ model-> attributes = $ _POST; $ model-> validate(); –

+0

이것은 매우 간단합니다. 모델의 코드를 추가하면 훨씬 쉽게 도움말을 볼 수 있습니다. – mrateb

답변

0

여기 내 목표를 달성하는 코드입니다.

$ model = new SignupForm;

if (isset($_POST['username'])) { 
    $model->username = $_POST['username']; 
} 

if (isset($_POST['email'])) { 
    $model->email = $_POST['email']; 
} 

if (isset($_POST['password'])) { 
    $model->password = $_POST['password']; 
} 

if($model->validate()){ 
    $model->signup(); 
} 

else{ 
    return $model->getErrors(); 
}