私は、表形式のhtml/JSインタフェースを使用する企業で働いています。これらは、各セルにクエリイベントが添付された自宅で栽培されています(実際の正直なところから神様まで)。古い使用法では適切でしたが、行とセルの間に必要な相互作用は、クライアント側ではますます複雑になっています。具体的には、サーバーとクライアントの両方の検証が必要です。ZendフォームとExt.grid.Panel
私が報告した開発者は、Zend_Formsに大変熱心であり、ExtJSのようなフレームワークを使用すると、エンドとフロントエンドのコードを2回書き戻したくないと主張しています。とにかくこれをやらなければならないだろう)。
したがって、私はZend_Form decoratorsを利用してExt.grid.Panel column defintionsを作成しようとしています。このためには、デコレータを使用して配列をエクスポートしてから、ViewHelperを使用してJSON文字列を直接レンダリングする必要があります。
だから、これはのようになります。
$dateElement = new Zend_Form_Element_Text('startDate', array(
'label' => 'Start Date',
'validators' => array(
new Zend_Validate_Date()
)
));
echo (string)$dateElement;
だろう出力:(文字列のキャストと、多分->toArray()
か何かと明らかにしない)
{ text: 'Start Date', dataIndex:'startDate', xtype:'datecolumn'}
か:
array('text' => 'Start Date', 'dataIndex' => 'startDate', 'xtype' => 'datecolumn')
私はこの段階に入ることができれば、私はそれから必要なものを得ることができたと思います。
ここで誰かがこれに似た何かをしようとしました(デコレータを使ってZend_FormsからHTMLではなくJSON/XML /その他のマークアップ出力を得る)か、
何がしたいのプリントのようなものがフィールドとJSONまたはXMLとして彼の名前ではなくHTMLを持っていますか?私はExtJSを使用したことがないのでこれを尋ねますが、これがあなたが望むものなら、私は解決策の一部を持っていると思います...あなたがデコレータの出力として望むものの例を与えることができますか? –
要素全体をJSONとして表現できるようにしたいのですが、レンダリングされたときと同じ方法で、HTMLでは「妥当性」を除いて検証されます。それはここの鍵です。私はバックエンドからjavascriptに渡して検証を渡したいので、便利なjsバリデーションを行い、セキュリティ上の理由からPHPでもう一度検証して、$ _REQUESTを衛生的なものとして信頼できません。 – Drew