是否存在类似于 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/