私がやりたいことは、jquery ajax を介してフォームを symfony2-webapp に送信することです。サーバーで何が起こるかというと、サーバーはフォームに検証エラーまたは成功メッセージを返します。
jqueryでこの2つの異なる結果を処理するにはどうすればよいですか?
私の問題は、文字列フィールドが十分な長さではなく、hasError が false を返し、getErrors が array() を返すため、isValid が false であることです。その理由は何ですか?
すべてのフォーム フィールドに error_bubbling を追加します。例を次に示します。
...
$builder->add('name', 'type', array(
...
'error_bubbling' => true
));
コントローラーが JSON 配列を返すようにする必要があります (空のテンプレートを使用して JSON のみを出力json_encode
し、適切な JSON を生成します)。Jquery ロード関数は、AJAX 応答を処理する 3 番目のパラメーターとしてコールバック関数を取ります (もちろん、応答が完了したら)。サーバーから返された JSON を使用すると、OK メッセージまたは検証エラーを表示するなど、必要なことを簡単に行うことができます。