我正在使用 Zend Form,在编辑时我希望值像 ucfirst(values) ;
. 我找到了过滤器 'filters' => array('StringToUpper')
,但它们适用于孔输入。任何想法 ?谢谢
问问题
1192 次
3 回答
3
不存在这样的过滤器,但创建自己的过滤器很简单:
class My_Filter_StringUCFirst implements Zend_Filter_Interface {
public function filter($value){
return ucfirst($value);
}
}
于 2013-06-13T14:47:10.990 回答
1
也许是时候使用自定义过滤器了。
就像是:
class UcFirstFilter implements Zend_Filter_Interface
{
public function filter($value)
{
// perform some transformation upon $value to arrive on $valueFiltered
$valueFiltered=ucfirst($value);
return $valueFiltered;
}
}
$filterChain = new Zend_Filter();
$filterChain->addFilter(new UcFirstFilter());
于 2013-06-13T14:52:25.463 回答
0
我找到了这个解决方案,我改变了我的填充功能:
public function populate($data) {
....
foreach ($data as $field => $value) {
if (in_array($field, array("fields you want in ucfirst")) )
$value= ucfirst ($value);
$this->{$field}->setValue($value);
}
return $this;
}
希望这会有所帮助。
于 2013-06-13T14:47:52.820 回答