zend-framework - 是否存在类似于 Zend Validator Identical 的 Zend Filter?

标签 zend-framework zend-form zend-filter

是否存在类似于 Zend Validator Identical 的 Zend Filter?

我应该过滤 input=='test' 的情况

$el->addFilter('Identical','test');

不存在这种过滤器的问题。

谢谢, 约瑟夫

最佳答案

我不确定这个过滤器应该如何工作,因为你的问题并不清楚。无论如何,我制作了一些自定义过滤器,用于检查输入字段的值是否等于某个 $token。如果它们相等,则输入值为空字符串。

过滤器如下所示:

// file: APPLICATION_PATH/filters/Identical.php 

class My_Filter_Identical implements Zend_Filter_Interface {

    /**
     * Token with witch input is compared
     *
     * @var string
     */
    protected $_token;

    /**
     * Set token
     *
     * @param  string
     * @return void
     */
    public function __construct($token = '') {
        $this->_token = $token;
    }

    /**
     * Filtering method 
     *
     * @param string $value value of input filed
     * @return string
     */
    public function filter($value) {

        if ($value !== $this->_token) {
            return $value;
        }

        return '';
    }

}

将它应用到给定的表单元素:

require_once (APPLICATION_PATH . '/filters/Identical.php');
$el1->addFilter(new My_Filter_Identical('test'));

当然可以将它添加到您的资源自动加载器,而不是 require_once,但作为一个例子,我认为现在不需要它。

编辑:

忘记提及 pregReplace 过滤器。 使用 pregReplace 过滤器可以完成上面自定义过滤器的相同操作:

$el1->addFilter('pregReplace',array('/test/',''));

但是,正如我所说,我不确定您希望过滤器如何工作。如果您提供更多信息,也许我可以提供更多帮助。

关于zend-framework - 是否存在类似于 Zend Validator Identical 的 Zend Filter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4823743/

相关文章:

php - Zend Framework - 在选择框下拉列表中设置 'selected' 值

php - ZendFramework - 如何使用带 bin2hex 和 hex2bin 的 Zend_Filter 进行加密和解密?

apache - fatal error : Uncaught exception 'Zend_Cache_Exception' with message > 'cache_dir must be a directory'

php - PayPal 网关已拒绝请求。购物车商品总金额与订单金额不匹配。洋红色

zend-framework - Zend Studio 和远程主机 - 最佳实践

jquery - zend Framework jquery ui 选项卡式内容,如何从部分点击加载内容?

php - 动态更改 Fieldset 字段的必需参数

php - Zend 表单文件上传不会验证或上传文件