MVC我应该在哪里验证我的数据?

时间:2011-03-19 17:51:11

标签: zend-framework validation mv

我正在使用Zend Framework,我想检查某些字段是否未提交为null或空。我应该在哪里检查;型号或控制器?

注意,我没有使用Zend表单,我用HTML编写它们并使用以下内容编写内容:

$this->_getParam('inputName');

我将使用js检查前端但是很容易绕过js所以我也想要一些后端内容。

2 个答案:

答案 0 :(得分:0)

我认为这实际上取决于您如何设计应用程序。有时,验证模型中的数据非常重要,当它依赖于业务逻辑时,如果您只想检查某个值是空还是空(并且可能注意到您的用户),那么请在您的控制器中进行。

由于您手动编写了表单 ,因此您可能需要使用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 :(';
}

答案 1 :(得分:0)

如果你关心的是你的字符串是非空/非空,那么你可以这样做:

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

注意:值0不会传递此值。 虽然我仍然建议使用适当的验证库。