1

BootstrapとReverseFormアダプターでZendフレームワークを使用していますが、興味深い問題があります。ZendFormでBootstrap Datepickerを使用すると、次の例外が発生します。

オブジェクトはEscapeヘルパーに提供されますが、フラグは再帰を許可しません

フォームフィールドの私のコードがあります:

use \Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
use \Zend\Form\Annotation as ZFA;

..。

/**
 * @var \DateTime
 *
 * @ODM\Date
 *
 * @ZFA\Type("ReverseForm\Element\BootstrapDatepicker")
 * @ZFA\Attributes({"type":"text"})
 * @ZFA\Options({
 *      "label":"Date",
 *      "extended": {
 *          "help": {"content": ""},
 *      }
 * })
 *
 */
private $date;

そして私の逆形式の設定があります:

'ReverseForm\Element\BootstrapDatepicker' => array(
    'js' => array(
        '/vendor/datepicker/js/bootstrap-datepicker.js'
    ),
    'css' => array(
        '/vendor/datepicker/css/datepicker.css'
    ),
    'template' => 'input.phtml',
    'inlineJs' => "$('#%1\$s').datepicker(%2\$s);",
    'inlineJsConfig' => array(
        'format' => 'dd.mm.yyyy',
        'weekstart' => new \Zend\Json\Expr(1),
    )
),

どこに間違いがありますか?

4

4 に答える 4

5

私も同じ問題を抱えていました。入力のタイプをからに変更すると、問題が解決textするdateはずです。(https://github.com/zendframework/zf2/issues/3724

于 2013-04-07T17:26:41.203 に答える
1

間違いは明らかにコードに起因するものではありません。あるいは、editActionがバインドするだけでなく、次のものを追加する場合は、おそらく重要なことです。

$form->bind($document);
$form->get('datenais')->setValue($document->getDatenais()->format('Y-m-d'));

私はきれいな方法を知りませんが、それはあなたの問題を解決します。別の方法を見つけたら、私はあなたのコードを見て喜んでいます。

于 2013-03-22T01:33:06.927 に答える
0

タイプフィールドをZendフォームに追加しない場合に発生する問題と同様の問題です。

'type' => 'Zend\Form\Element\Time',

全体の要素はそのようなものです::

   $this->add(array(
    'name' => 'officialDrawTime',
        'type' => 'Zend\Form\Element\Time',
        'attributes' => array(
            'required' => 'required',
            'type'   => 'time',
            'class' => 'form-control input-large',
            'placeholder' => 'e.g 19:30 or 07:30 (24 hour clock)',
            'pattern' => '^[0-9]{2}:[0-9]{2}$'
        ),
        'options' => array(
            'label' => 'Official draw time',
            'instructions' => 'The official draw time...)'
        ),
    ));
于 2014-07-30T23:05:27.487 に答える
0

これは私のために働きます。
値を日付形式に変換すると、問題が解決します。
コントローラで:次のように記述します。

$users['usrBirthday']=$user->getBirthday()->format('d-m-Y');
$form->setData($users);
$form->bind($user);     
于 2016-07-06T11:55:36.930 に答える