Приходит POST-запрос на регистрацию юзера. Полей много, где-то 10. Валидацией полей занимается отдельный класс Validator, причём его методы настроены на каждый тип поля в отдельности. Если валидировать данные в контроллере, то получится такой метод контроллера:
public function addData()
{
$v = new Validator();
$mail = $v->checkEmail($_POST['email']);
$pass = $v->checkPwd($_POST['pass1'], $_POST['pass2']);
$bdate = $v->checkBdate($_POST['bdate']);
$adress = $v->checkAddr($_POST['adress']);
$company = $v->checkCom($_POST['company']);
$wife = $v->checkCom($_POST['wife']);
$city = $v->checkCity($_POST['city']);
$document = $v->checkDoc($_POST['document']);
$husb = $v->checkHusb($_POST['husb']);
$num = $v->checkNum($_POST['num']);
if('всё верно'){
$model = new User();
$result = $model->createUser();
} else {
return $error;
}
$view = new View();
$show = $view->RegSuccess($result);
return $show;
}
Это нормально? С одной стороны пишут что валидацию надо в контроллерах а не в модели делать, с другой, что контроллеры должны быть тонкие.
Ещё вопрос: если контроллер занимается валидацией, стот ли его унаследовать от класса валидатор? Тогда он будет обращаться к методам родителя и не надо будет делать
$v = new Validator();