如何在zend表单输入中首先大写?

时间:2013-06-13 14:42:51

标签: php forms zend-framework ucfirst

我正在使用Zend Form,在编辑中我希望值类似于ucfirst(values) ;。 我找到了过滤器'filters' => array('StringToUpper'),但它们可用于空洞输入。 任何的想法 ?感谢

3 个答案:

答案 0 :(得分:3)

不存在这样的过滤器,但创建自己的过滤器是微不足道的:

 class My_Filter_StringUCFirst implements Zend_Filter_Interface {
     public function filter($value){
         return ucfirst($value);
     }
 }

答案 1 :(得分:1)

也许是时候custom filter

类似的东西:

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());

答案 2 :(得分: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;
}

希望这会有所帮助。