0

zf2形式で、次のような要素を作成しました

  $receivePerson = new Element\Select('receivePerson');
  $receivePerson->setLabel('To')
                ->setAttribute('class', 'required');

いいえ、ビュー ファイルからエラーのような別のクラス属性値を追加する必要があります。エラー クラス値をフォームに追加すると、すべてのコード スニペットが次のようになります。

$receivePerson = new Element\Select('receivePerson');
$receivePerson->setLabel('To')
              ->setAttribute('class', 'required error');

このコードを使用しますが、期待される結果が表示されません。

$element->setAttributes(array('class', 'error'));

その後、コードを変更してこのように書きます

$element->setAttribute('class', 'error');

しかし、エラーのみが表示され、必要なクラスの値がなくなりました。私がまだ見つけていない適切な解決策は何ですか。

4

1 に答える 1

0

要素に変更を加えた後、フォームがレンダリングされる前に必ず準備を呼び出していますか?

$form->prepare();

これを変更するために Element オブジェクトを使用する必要はありません。単純な ond html を使用してフォームを書き出す簡単な方法があります。

myview.phtml

<li>
    <?php $class = XXXX ? 'one' : 'two'  ?>
    <?php echo $form->get('receivePerson')->getLabel() ?>
    <input class="<?php echo $class ?>" type="text" 
           name="<?php echo $form->get('receivePerson')->getName() ?>"
           value="<?php echo $form->get('receivePerson')->getValue() ?>"
    />
</li>
于 2013-05-28T07:43:41.620 に答える