0

Django プロジェクトで Dajax を使用して、AJAX によるフォーム検証に取り組んでいます。検証エラーを効率的に表示する方法があるかどうかを知りたいです。今のところ、AJAX が呼び出されるとサーバー側でエラーを返し、クライアント側は JavaScript を使用してエラーを表示します。

# (if the form is not valid ...)

error_messages = []
# Display error messages.
for field in form:
    error_messages += field.errors

dajax.add_data({'msg':error_messages}, 'displayError')     
return dajax.json()

AJAXを使用してエラーを表示するためにdjangoテンプレートタグを使用する方法はありますか?

4

1 に答える 1

1

これらのエラーを表すhtmlを返し、javascriptを使用して次のように挿入することができます。

意見

template = 'errors.html'
data = {
    'error_messages': error_messages,
}
return render_to_response(template, data,
    context_instance = RequestContext(request))

errors.html

<ul>
{% for message in error_messages %}
    <li>{{ message }}</li>
{% endfor %}
</ul>

私はこのアプローチのファンではありませんが、データとプレゼンテーションを分離することを好み、通常はjsonのみを返します。

于 2012-02-26T23:44:45.627 に答える