MVC, где я должен проверить свои данные? - PullRequest
0 голосов
/ 19 марта 2011

Я использую Zend Framework и хочу убедиться, что определенные поля не отправляются как пустые или пустые.Где я должен сделать эту проверку;модель или контроллер?

Обратите внимание, я не использую формы Zend, я закодировал их в HTML и беру их содержимое с помощью:

$this->_getParam('inputName');

Я буду использовать js для проверки напередний конец, но js легко обойти, поэтому я тоже хочу кое-что о бэкенде.

Ответы [ 2 ]

0 голосов
/ 20 марта 2011

Если все, что вас волнует, это если ваши строки ненулевые / непустые, то вы можете просто сделать:

if ($this->_getParam('inputName')) {
   echo 'input name is not null or empty';
}

Примечание: значение 0 не пройдет это.Хотя я все равно рекомендую использовать соответствующие библиотеки валидации.

0 голосов
/ 19 марта 2011

Я думаю, что это действительно зависит от того, как вы разрабатываете свое приложение. Иногда действительно важно проверить данные в вашей модели, когда они основаны на бизнес-логике, но если вы просто хотите проверить, является ли значение нулевым или пустым (и, вероятно, заметили вашего пользователя), то сделайте это в своем контроллере.

Поскольку вы написали свою форму вручную , вы можете использовать Zend_Filter_Input, что поможет проверить и отфильтровать ваши входные данные.

$filters = array(
    'inputName' => 'StringTrim'
);

$validators = array(
    '*' => 'NotEmpty',
);

$inputFilter = new Zend_Filter_Input($filters, $validators);

$inputFilter->setData($this->getRequest()->getPost());

if ($inputFilter->isValid()) {
    echo 'Congratulations!';
} else {
    echo 'Too bad :(';
}
...