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

发布于 2024-10-24 19:15:23 字数 235 浏览 5 评论 0原文

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

请注意,我没有使用 Zend 表单,我用 HTML 对其进行编码,并使用以下内容获取内容:

$this->_getParam('inputName');

我将使用 js 在前端进行检查,但很容易绕过 js,所以我也想要一些后端的东西。

I'm using the Zend Framework and I want to check that certain fields are not being submitted as null or empty. Where should I do this checking; model or controller?

Note, I'm not using Zend forms, I coded them in HTML and I take the contents using:

$this->_getParam('inputName');

I will be using js to check at the front end but it's easy to bypass js so I want some backend stuff as well.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

双手揣兜 2024-10-31 19:15:23

我认为这实际上取决于您如何设计应用程序。有时,当模型依赖于业务逻辑时,验证模型中的数据非常重要,但如果您只想检查值是否为 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 :(';
}

I think it really depends on how you design your application. Sometimes it is really important to validate data in your model, when it relies on business logic, but if you just want to check if a value is null or empty (and probably notice your user), then do it in your controller.

Since you wrote your form manually you may want to use Zend_Filter_Input which will help validate and filter your inputs.

$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 :(';
}
ま昔日黯然 2024-10-31 19:15:23

如果您只关心字符串是否非空/非空,那么您可以简单地执行以下操作:

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

注意:值 0 将不会通过此操作。
尽管我仍然建议使用适当的验证库。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文