2016-10-06 18 views
1

私には2つの質問があります。Django:クライアント側のフォーム検証?

  1. は私がviewPOST要求を受け入れ、特定の作っのみによるajax私はFormを使用して、私はajaxを使用した場合、私はジャンゴを使用することができなかったことを実現しています(一般的ではないPOSTリクエスト)

ビルトイン形検証。

この場合、javascriptのすべてのフィールドについて自分で検証する必要がありますか?私はそれがちょっと時間がかかり、冗長なものだと思う。他の選択肢はありますか?


2.それはOK viewのみajax POSTリクエストを受け入れるためですか?それは悪い習慣

def post(self, request, *args, **kwargs): 
    if request.is_ajax(): 
     # return response 
    else: 
     # give HTTP404 

です:私はこのような何かを、意味ですか? viewajaxリクエストを受け入れると、通常のHTTPリクエストも受け付けますか?

ありがとうございました。

答えて

0

フォームHTMLを別のテンプレートで生成します。 ajaxを使用して送信すると、フォームが無効な場合(form.is_invalid())、request.POSTでフォームをインスタンス化し、再度テンプレートをレンダリングします。次に、このレンダリングされたHTMLをAjax関数に戻し、既存のフォームを置き換えます。

これは、JSで多くのことをする必要がなくなります。

関連する問題