1

私は Zend Form を使用していますが、編集時に値を次のようにしたいと考えています ucfirst(values) ;。フィルターを見つけまし 'filters' => array('StringToUpper')たが、穴の入力で機能します。何か案が ?ありがとう

4

3 に答える 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

私はこの解決策を見つけました.populate関数を変更しました:

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 に答える