2017-10-06 39 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; $模型 - >的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(); 
} 
相關問題