2

この質問は、回答が得られなかった別のフォーラムで見つかりました。ここで尋ねる価値のある良い質問だと思いました。ここに一言一句貼り付けています。

こんにちはみんな、私は空のアイデアのパイを持っています、そして私はそれがリモートでさえ可能であるかどうか、または私が諦めて何か他のものを試すべきかどうか疑問に思っています。

Zend側に多数のカスタムバリデーターを備えた多数のZend_Dojo_Formフォームがあります-それらは正常に機能し、値が正しくない場合はフォームがエラーになります。すべてが期待どおりに機能しますが、私も同様に、同じバリデーターがフォームのDojoクライアント側で機能しますが、バリデーターごとに完全に再実装する必要はありません。

最も単純なレベルでは、Dojo isValidメソッドはその背後にあるアプリケーションを認識または認識せず、実際にアプリケーションのエラーにアクセスできるようにするには、送信を試行する必要があることを理解しています。これは意図されたものではありませんが、誰かが次のようなシステムを試したことはありますか?

  1. onSubmitフォームをオーバーライドして、コードを追加します
  2. Dojo isValid()をテストします
  3. Dojo側が満足している場合は、AJAXがフォームを送信します
  4. 成功した場合、返される方法がわかりません。適切なページに進んでください。
  5. 成功しなかった場合(そしてこれは私が推測するトリッキーになるところです)、エラーが発生したフィールド、エラーが何であったかを知るのに十分なデータを返し、フォームをそのように見せるために十分なDojoisValid内部ガッツを呼び出します検証しませんか?

このようなアイデアを放送しているだけで申し訳ありませんが、クライアント側とサーバー側の両方で機能するカスタムバリデーターをフォームにグローバルに追加する方法を考え出すことができれば、それらを一意に実装する必要がないので、本当に役立つかもしれないと思いました。両側。

4

2 に答える 2

3

まあ、道場:(

Jqueryを使用してください:)

これを見てください、それは素晴らしいです: jQuery を使用して Zend_Form 検証を Ajaxify する

最後の 3 つのビデオでまとめたものを使用し、非同期で表示されるサーバー側の検証をいくつか含めます。これは、JSON を介して検証ツールとして Zend_Form を使用する例です。

于 2011-01-28T08:18:18.493 に答える
1

Zend_FormにはprocessAjax()、フォームの要素の一部またはすべてを検証し、JSONでエンコードされた結果(trueまたはエラーのリスト)を返すために使用できるメソッドがあります。

したがって、これを使用して、onsubmitイベントハンドラーのフォームのすべてまたは一部を事前検証できます。または、onchangeイベントハンダーでフィールドを個別に事前検証することもできます。

于 2011-01-27T10:27:07.913 に答える