【发布时间】:2012-06-16 18:16:40
【问题描述】:
所以,我在 Zend Framework 的表单中使用过滤器时遇到了问题。
当您在表单元素上设置过滤器时,它会以各种方式过滤提供给元素的数据。因此,如果我在表单上调用 isValid(),'Int' 过滤器会将字符串“1”转换为 int 1。但如果我将元素的值设置为字符串“1”,该值仍将转换为一个整数 1。
这种行为给我带来了问题。例如,根据企业的规则,所有浮点值必须乘以 100 才能保存到 db(是的,这很糟糕)。所以,我为此创建了一个过滤器,10 变为 1000。但是当填充表单时,1000 变为 100000。
我想要一种方法来做到这一点,而无需在模型中进行工作,仅在表单中进行。所以,我想创建一个标志,指定何时调用过滤器。
有没有更好的方法来做到这一点?我发誓我确实四处寻找过,但我什么也没找到。
谢谢。
【问题讨论】:
标签: php forms zend-framework frameworks filter