我正在使用 Zend 框架,我想检查某些字段是否没有被提交为 null 或空。我应该在哪里做这个检查;模型还是控制器?
注意,我没有使用 Zend 表单,我用 HTML 编码它们,并使用以下内容获取内容:
$this->_getParam('inputName');
我将使用 js 在前端进行检查,但是绕过 js 很容易,所以我也想要一些后端的东西。
我正在使用 Zend 框架,我想检查某些字段是否没有被提交为 null 或空。我应该在哪里做这个检查;模型还是控制器?
注意,我没有使用 Zend 表单,我用 HTML 编码它们,并使用以下内容获取内容:
$this->_getParam('inputName');
我将使用 js 在前端进行检查,但是绕过 js 很容易,所以我也想要一些后端的东西。
我认为这真的取决于你如何设计你的应用程序。有时验证模型中的数据非常重要,因为它依赖于业务逻辑,但如果您只想检查一个值是 null 还是空(并且可能会注意到您的用户),那么请在您的控制器中进行。
由于您手动编写了表单,您可能希望使用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 :(';
}
If all you care is if your strings are non-null/non-empty, then you can simply do:
if ($this->_getParam('inputName')) {
echo 'input name is not null or empty';
}
Note: a value of 0 will not pass this. Although I would still recommend using the appropriate validation libraries.