gpt4 book ai didi

model-view-controller - Zend 模型验证

转载 作者:行者123 更新时间:2023-12-04 08:37:43 27 4
gpt4 key购买 nike

我正在研究 Zend 应用程序,但对 Zend 没有太多经验,所以只能依靠我的 RubyOnRails 经验。

从几篇文章中,我发现大部分验证是在表单级别实现的 - 使用 Zend_Form。但对我来说看起来有点奇怪 - 如何在模型级别进行验证 - 基于表单数据创建一个模型并像 $model->isValid(); 一样运行 smth这是有道理的,因为我正在创建一些没有表单发布请求的模型。

我目前的模型流程:

ProductMapper extends Zend_Db_Table
Product extends Zend_Db_Table_Row

鉴于我正在做类似的事情
$mapper = new ProductMapper();
$product => $mapper->find(...);

// Do some staff with this model
// And want to check if it's valid before saving

if ($product.isValid()) {
$product.save(); // Zend_Db_Table_Row method
} else {
...
}

我意识到我可以简单地在 isValid 中使用 RegExp 进行验证方法,但我想使用来自 Zend_Form 的已经实现的方法喜欢 addValidator , addFilter以及所有有用的东西。

这也是在 Zend 中管理模型的正确方法吗?

任何帮助或建议将不胜感激!

最佳答案

您可以使用与 Zend_Form 相同的过滤器和/或验证器,但就像这样

$validator = new Zend_Validate_Allnum();
if ($validator->isValid($data)
do some code

或者
$filter = new Zend_Filter_StringTrim();
$filteredVal = $filter->filter($val);

因此您可以在行类中创建自己的方法 isValid(),您可以在其中执行自己的验证和过滤值逻辑

关于model-view-controller - Zend 模型验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4224480/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com