ちょうどdjangoを使い始めました。私はフォームに遭遇し、どのフォームがフォームを検証する良い方法であるかを知る必要があります。それはジャンゴのフォームを使用しているか、私たちはそれを行うにはJavaScriptやいくつかのクライアント側のスクリプト言語を使用する必要がありますか?djangoのフォーム検証
答えて
サーバー側でフォームを検証する必要がありますが、クライアント側の検証はユーザーの利便性だけです。
Djangoフォームには、フォームフィールドが正しくないかどうかを示す変数form.errorsがあります。
{{form.name_of_field.errors}}は、間違って入力された各フィールドの個々のエラーを表示できます。ここで詳細を参照してください。
ドキュメントに書いていないことの1つは、フォーム全体に当てはまるエラーだけを取得する場合の{{form.non_field_errors}}の存在です。 –
はい、私はドキュメントがたくさんのものを見逃しているか、単に詳細には出てこないのがわかります。フレームワークが発展するにつれて、ドキュメントも同様に発展してくれることを願っています。 – AlbertoPL
Albertoが言ったことを繰り返し述べる:クライアント側の検証は検証ではない。誰でもPOSTまたはGETリクエストを作成することができます。クライアント側の検証から得られる唯一の実際の恩恵は、ユーザーにとって「Web 2.0 AJAXy」の感覚ですが、サーバー側で行われる検証ではありません。 – ShawnMilo
JavaScriptを介してクライアント側でフォームを検証することができますプラグイン可能なDjangoのアプリ(django-ajax-forms)があります。しかし、AlbertoPLによれば、クライアント側の検証はユーザビリティ対策としてのみ使用してください(たとえば、登録ページを再読み込みせずに希望のユーザ名を既に取得していることをユーザに伝える)。ほとんどの場合、JavaScriptを無効にするなどの単純な方法で、クライアント側の検証を回避するためのあらゆる種類の方法があります。
一般的に言えば、外部から届いたすべてのデータは、検証されるまで障害があるものとみなします。
django-floppyformsがちょうど来ました。これはデフォルトでクライアント側の検証を行うようです。彼らはデフォルトでクライアント側の検証をサポートするHTML5を使用します。ブラウザでHTML5がサポートされていない場合でもjavascriptを使用しているかどうかはわかりません。私はまだそれを試していない。 -floppyformsをDjangoのための
リンク:DocumentationとGithub
あなたがこれを行う必要がありますがJSです。 This appは、フォームをparsley.jsと統合して、正しいdata- *属性を持つフォームに自動的にタグ付けします。
ブートストラップを使用している場合は、必要な属性をフォームフィールドに追加するだけで済みます。例えばprogrameフィールドがある場合、あなたはそれが好きで検証することができます:
forms.pyで:
programme = forms.ChoiceField(course_choices,required=True, widget=forms.Select(attrs={'required':'required'}))
注:これは、そのフォームのご.html
ページ内のファイルをブートストラップするためにリンクすることが必要です。
- 1. Django:クライアント側のフォーム検証?
- 2. Djangoフォームの検証競合
- 3. フォーム検証エラーのDjango "autofocus"
- 4. Djangoのフォーム検証が
- 5. Djangoフォームのフィールド検証
- 6. テンプレート内のDjangoフォームの検証
- 7. djangoフォームの検証:初期値の検証
- 8. 非表示の検証フォーム - Django
- 9. Djangoフォーム検証モデルの選択
- 10. 検証Djangoの管理親フォームとインラインデータ
- 11. django CBVフォームビューでフォームの検証
- 12. ReactJSとReduxフォームによるDjango検証
- 13. Django - フォームの検証後にフォームの値を保持する
- 14. フォームの検証?
- 15. フォームの検証
- 16. 検出フォーム検証
- 17. DataSetの検証とASP.NETフォームの検証
- 18. Djangoのインラインフォーム検証
- 19. Djangoフォームフィールドの検証
- 20. Jquery検証でフォーム配列の検証
- 21. フォーム検証
- 22. Xamarinフォーム検証。
- 23. VueJSフォーム検証
- 24. FOSRest検証フォーム
- 25. スプリングブート検証フォーム
- 26. フォーム検証n
- 27. フォーム検証アラート
- 28. angularjsフォーム検証?
- 29. フォーム検証プラグイン?
- 30. フォーム検証
タグ 'django'は' django-forms'のようなサブタグよりも多くの視聴者を獲得します。主なプラットフォーム/言語( '.net'、' java'、 'django'など)に少なくとも1つのタグを含めるようにしてください。特に、5つのタグの制限に達していないときは、 – Zifre