1
我正在使用Laravel,它看起來在他們決定在控制器內部實現驗證的例子中,我根本不喜歡它。我想問的是,如果有某種bind
方法可以將發佈的輸入字段綁定到我創建的對象,以便我可以確保我的控制器不雜亂。從輸入表格中綁定模型
我會盡力解釋我想要的代碼,我認爲它會更清晰。
我有什麼
public function postRegister() {
$validation = Validator::make(Input::all(), array(
'email' => 'required|email',
'password' => 'required|min:6',
'name' => 'required|alpha',
'gender' => 'required|in:male,female'
));
if ($validation->fails()) {
Input::flashExcept('password');
return Redirect::to('register')->withErrors($validation)->withInput();
}
// Register user...
}
我想有什麼
class UserRegisterDto {
public $email;
public $password;
public $name;
public $gender;
protected $errors;
public function isValid() {
// Validate it here, set errors if there are some
return $validator->isValid();
}
public function getErrors() {
return $this->errors;
}
}
public function postRegister() {
$user = Input::bind('UserRegisterDto'); // This is made-up function, I wonder if something like this exists
if ($user->isValid()) {
// Register user...
}
}
嗯,看起來不錯,但我很困惑'保存'功能。如果(和我的情況是這樣)如果我使用自定義存儲庫來保存它,因爲我沒有使用MySql但Cassandra? – sed
我不知道,對不起。我用它與MySQL。 – chris342423