... 中に実行されます。これらは、通常フォーム上の is_valid() メソッドを呼び出したときに実行されます。このほかにも、クリーニングとバリデーションのトリガーとなる処理 (直接 errors 属性にアクセスしたり、 full_clean() を直接呼び出す) がありますが、通常必要とはなりません。 ... が投げられない場合、メソッドはクリーニングされた (標準化された) データを Python オブジェクトとして返すはずです。 ほとんどのバリデーションは validators を使用して行うことができます。これは再利用できるヘルパーです。バリデーション用の関数(または呼び出し可能オブジ ... ェクト)は、単一の引数を取り、無効な入力の場合に ValidationError を発生させます。バリデーション用の関数は、フィールドの to_python メソッドと validate メソッドが呼び出された後に実行されます。 フォームのバリデーションは複 ... ... 中に実行されます。これらは、通常フォーム上の is_valid() メソッドを呼び出したときに実行されます。このほかにも、クリーニングとバリデーションのトリガーとなる処理 (直接 errors 属性にアクセスしたり、 full_clean() を直接呼び出す) がありますが、通常必要とはなりません。 ... が投げられない場合、メソッドはクリーニングされた (標準化された) データを Python オブジェクトとして返すはずです。 ほとんどのバリデーションは validators を使用して行うことができます。これは再利用できるヘルパーです。バリデーション用の関数(または呼び出し可能オブジ ... ェクト)は、単一の引数を取り、無効な入力の場合に ValidationError を発生させます。バリデーション用の関数は、フィールドの to_python メソッドと validate メソッドが呼び出された後に実行されます。 フォームのバリデーションは複 ... ... ValidationError を発生させます。バリデータは異なるタイプのフィールド間でバリデーションロジックを再利用するのに便利です。 たとえば、以下は偶数のみを許容するバリデータです。 from django.core.exceptions import Val ... うにしてください。 バリデータはどのように実行されるか ¶ バリデータが実行される方法については、フォーム上での実行は フォームのバリデーション 、モデル上の実行は オブジェクトを検証する にそれぞれ詳細が記載されています。モデルを save してもバリデータは自動的には呼び ... ModelForm を使用している場合にはフォームに含まれるすべてのフィールドでバリデータを実行することに注意してください。モデルのバリデーションがフォーム上でどのように動作するかについては、 ModelForm ドキュメント を参照してください。 ビルトインのバリデータ ¶ django.c ... ... ValidationError を発生させます。バリデータは異なるタイプのフィールド間でバリデーションロジックを再利用するのに便利です。 たとえば、以下は偶数のみを許容するバリデータです。 from django.core.exceptions import Val ... うにしてください。 バリデータはどのように実行されるか ¶ バリデータが実行される方法については、フォーム上での実行は フォームのバリデーション 、モデル上の実行は オブジェクトを検証する にそれぞれ詳細が記載されています。モデルを save してもバリデータは自動的には呼び ... ModelForm を使用している場合にはフォームに含まれるすべてのフィールドでバリデータを実行することに注意してください。モデルのバリデーションがフォーム上でどのように動作するかについては、 ModelForm ドキュメント を参照してください。 ビルトインのバリデータ ¶ django.c ... ... れます。デフォルトは False です。 null とは異なる点に注意してください。 null が純粋にデータベースに関連する一方で、 blank はバリデーションに関連します。フィールドが blank=True を持つ場合、フォームバリデーションは空の値のエントリーを許容します。 blank=False を持つ ... ィールドの選択肢として使用するための、以下で説明する形式のマッピングまたはイテラブルです。choices が指定された場合、 モデルのバリデーション によって強制的に、デフォルトのフォームウィジェットが通常のテキストフィールドの代わりにこれらの選択肢を持つセレクトボックス ... d. unique [ソース] ¶ True の場合、そのフィールドはテーブル上で一意となる制約を受けます。 これはデータベースレベルとモデルのバリデーションで強制されます。 unique フィールドの値が重複しているモデルを保存しようとすると、モデルの save() メソッドによって django.db.I ... ... れます。デフォルトは False です。 null とは異なる点に注意してください。 null が純粋にデータベースに関連する一方で、 blank はバリデーションに関連します。フィールドが blank=True を持つ場合、フォームバリデーションは空の値のエントリーを許容します。 blank=False を持つ ... ィールドの選択肢として使用するための、以下で説明する形式のマッピングまたはイテラブルです。choices が指定された場合、 モデルのバリデーション によって強制的に、デフォルトのフォームウィジェットが通常のテキストフィールドの代わりにこれらの選択肢を持つセレクトボックス ... d. unique [ソース] ¶ True の場合、そのフィールドはテーブル上で一意となる制約を受けます。 これはデータベースレベルとモデルのバリデーションで強制されます。 unique フィールドの値が重複しているモデルを保存しようとすると、モデルの save() メソッドによって django.db.I ... ... れません。なぜなら、このレベルで Django とやりとりするのはユーザ ではなく開発者であると想定しているからであり、また、モデルのバリデーションがモデル作成の一環として自動的に実行されるわけではないからです。 注釈 パスワードの妥当性検証は多くの脆弱なパスワードの形式が ... については、たとえばこの例ではデフォルトの設定を使用しています。 NumericPasswordValidator には設定はありません。 パスワードバリデーションのヘルプテキストとエラーは、常に AUTH_PASSWORD_VALIDATORS に記載されているソート順に返されます。 Django に含まれるバリデータ ... デフォルトでは "Your password can't be entirely numeric." (和訳: 「数字だけのパスワードにはできません。」)が使用されます。 バリデーションの統合 ¶ django.contrib.auth.password_validation には、独自のフォームや他のコードから呼び出して パスワード認証を統合できる関 ... ... れません。なぜなら、このレベルで Django とやりとりするのはユーザ ではなく開発者であると想定しているからであり、また、モデルのバリデーションがモデル作成の一環として自動的に実行されるわけではないからです。 注釈 パスワードの妥当性検証は多くの脆弱なパスワードの形式が ... については、たとえばこの例ではデフォルトの設定を使用しています。 NumericPasswordValidator には設定はありません。 パスワードバリデーションのヘルプテキストとエラーは、常に AUTH_PASSWORD_VALIDATORS に記載されているソート順に返されます。 Django に含まれるバリデータ ... デフォルトでは "Your password can't be entirely numeric." (和訳: 「数字だけのパスワードにはできません。」)が使用されます。 バリデーションの統合 ¶ django.contrib.auth.password_validation には、独自のフォームや他のコードから呼び出して パスワード認証を統合できる関 ... ... )、より正確な utf8mb4_general_ci を使用してください。 警告 モデルのフォームセットは大文字小文字を区別して一意なフィールドをバリデーションします。したがって、大文字小文字を区別しない照合順序を使用している場合、大文字小文字の違いだけで一意なフィールド値を持つフォ ... ームセットはバリデーションを通過しますが、 save() を呼び出すと IntegrityError が発生します。 データベースに接続する ¶ 設定のドキュメント を参照してくだ ... ... )、より正確な utf8mb4_general_ci を使用してください。 警告 モデルのフォームセットは大文字小文字を区別して一意なフィールドをバリデーションします。したがって、大文字小文字を区別しない照合順序を使用している場合、大文字小文字の違いだけで一意なフィールド値を持つフォ ... ームセットはバリデーションを通過しますが、 save() を呼び出すと IntegrityError が発生します。 データベースに接続する ¶ 設定のドキュメント を参照してくだ ... 2026年10月08日