{"title":"バリデータ (Validator)","version":"5.0","locale":"ja","docname":"ref/validators","url":"/ja/5.0/ref/validators/","canonical":"https://djangodocs.dev/ja/5.0/ref/validators/","summary":"バリデータ (validator) は呼び出し可能なオブジェクトで、値を受け取り、ある基準を満たしていない場合に ValidationError を発生させます。","html":"<span id=\"validators\"></span><h1>バリデータ (Validator)<a class=\"heading-anchor\" href=\"#module-django.core.validators\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"writing-validators\">\n<h2>バリデータを記述する<a class=\"heading-anchor\" href=\"#writing-validators\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>バリデータ (validator) は呼び出し可能なオブジェクトで、値を受け取り、ある基準を満たしていない場合に <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> を発生させます。バリデータは異なるタイプのフィールド間でバリデーションロジックを再利用するのに便利です。</p>\n<p>たとえば、以下は偶数のみを許容するバリデータです。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.core.exceptions</span> <span class=\"kn\">import</span> ValidationError\n<span class=\"kn\">from</span> <span class=\"nn\">django.utils.translation</span> <span class=\"kn\">import</span> gettext_lazy <span class=\"k\">as</span> _\n\n\n<span class=\"k\">def</span> <span class=\"nf\">validate_even</span><span class=\"p\">(</span>value<span class=\"p\">):</span>\n    <span class=\"k\">if</span> value <span class=\"o\">%</span> <span class=\"mi\">2</span> <span class=\"o\">!=</span> <span class=\"mi\">0</span><span class=\"p\">:</span>\n        <span class=\"k\">raise</span> ValidationError<span class=\"p\">(</span>\n            _<span class=\"p\">(</span><span class=\"s2\">&quot;</span><span class=\"si\">%(value)s</span><span class=\"s2\"> is not an even number&quot;</span><span class=\"p\">),</span>\n            params<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;value&quot;</span><span class=\"p\">:</span> value<span class=\"p\">},</span>\n        <span class=\"p\">)</span>\n</code></pre></div>\n<p>これはフィールドの <a class=\"reference internal\" href=\"/ja/5.0/ref/models/fields/#django.db.models.Field.validators\" title=\"django.db.models.Field.validators\"><code class=\"xref py py-attr docutils literal notranslate\">validators</code></a> 属性を通じて設定できます:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">MyModel</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    even_field <span class=\"o\">=</span> models<span class=\"o\">.</span>IntegerField<span class=\"p\">(</span>validators<span class=\"o\">=</span><span class=\"p\">[</span>validate_even<span class=\"p\">])</span>\n</code></pre></div>\n<p>値はバリデータ実行前に Python に変換されているため、フォームでも同じバリデータを使用できます:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django</span> <span class=\"kn\">import</span> forms\n\n\n<span class=\"k\">class</span> <span class=\"nc\">MyForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n    even_field <span class=\"o\">=</span> forms<span class=\"o\">.</span>IntegerField<span class=\"p\">(</span>validators<span class=\"o\">=</span><span class=\"p\">[</span>validate_even<span class=\"p\">])</span>\n</code></pre></div>\n<p>より複雑なバリデータに対しては、クラスで <code class=\"docutils literal notranslate\">__call__()</code> メソッドを利用することもできます。<a class=\"reference internal\" href=\"#django.core.validators.RegexValidator\" title=\"django.core.validators.RegexValidator\"><code class=\"xref py py-class docutils literal notranslate\">RegexValidator</code></a> はその一例で、このテクニックを使っています。クラスベースのバリデータが <a class=\"reference internal\" href=\"/ja/5.0/ref/models/fields/#django.db.models.Field.validators\" title=\"django.db.models.Field.validators\"><code class=\"xref py py-attr docutils literal notranslate\">validators</code></a> モデルフィールドのオプション内で使用されるときは、<a class=\"reference internal\" href=\"/ja/5.0/topics/migrations/#custom-deconstruct-method\"><span class=\"std std-ref\">deconstruct()</span></a> と <code class=\"docutils literal notranslate\">__eq__()</code>  メソッドを追加して <a class=\"reference internal\" href=\"/ja/5.0/topics/migrations/#migration-serializing\"><span class=\"std std-ref\">マイグレーションフレームワークによりシリアライズ可能</span></a> になるようにしてください。</p>\n</section>\n<section id=\"how-validators-are-run\">\n<h2>バリデータはどのように実行されるか<a class=\"heading-anchor\" href=\"#how-validators-are-run\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>バリデータが実行される方法については、フォーム上での実行は <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/validation/\"><span class=\"doc\">フォームのバリデーション</span></a>、モデル上の実行は <a class=\"reference internal\" href=\"/ja/5.0/ref/models/instances/#validating-objects\"><span class=\"std std-ref\">オブジェクトを検証する</span></a> にそれぞれ詳細が記載されています。モデルを save してもバリデータは自動的には呼び出されませんが、<a class=\"reference internal\" href=\"/ja/5.0/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\">ModelForm</code></a> を使用している場合にはフォームに含まれるすべてのフィールドでバリデータを実行することに注意してください。モデルのバリデーションがフォーム上でどのように動作するかについては、<a class=\"reference internal\" href=\"/ja/5.0/topics/forms/modelforms/\"><span class=\"doc\">ModelForm ドキュメント</span></a> を参照してください。</p>\n</section>\n<section id=\"built-in-validators\">\n<h2>ビルトインのバリデータ<a class=\"heading-anchor\" href=\"#built-in-validators\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference internal\" href=\"#module-django.core.validators\" title=\"django.core.validators: Validation utilities and base classes\"><code class=\"xref py py-mod docutils literal notranslate\">django.core.validators</code></a> モジュールは、モデルやフォームで使用する呼び出し可能なバリデータの集まりを有しています。これらは内部で使用されますが、作成したフィールドで使用することもできます。 追加で使うことも、<code class=\"docutils literal notranslate\">field.clean()</code> メソッドの代わりに使うことも可能です。</p>\n<section id=\"regexvalidator\">\n<h3><code class=\"docutils literal notranslate\">RegexValidator</code><a class=\"heading-anchor\" href=\"#regexvalidator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.RegexValidator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">RegexValidator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">regex<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">message<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">code<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">inverse_match<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">flags<span class=\"o\">=</span><span class=\"default_value\">0</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.RegexValidator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"field-list simple\">\n<dt class=\"field-odd\">パラメータ<span class=\"colon\">:</span></dt>\n<dd class=\"field-odd\"><ul class=\"simple\">\n<li><p><strong>regex</strong> -- <code class=\"docutils literal notranslate\">None</code> 以外の場合、<a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.regex\" title=\"django.core.validators.RegexValidator.regex\"><code class=\"xref py py-attr docutils literal notranslate\">regex</code></a> をオーバーライドします。正規表現の文字列か、コンパイル済みの正規表現を指定します。</p></li>\n<li><p><strong>message</strong> -- <code class=\"docutils literal notranslate\">None</code> 以外の場合、<a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.message\" title=\"django.core.validators.RegexValidator.message\"><code class=\"xref py py-attr docutils literal notranslate\">message</code></a> をオーバーライドします。</p></li>\n<li><p><strong>code</strong> -- <code class=\"docutils literal notranslate\">None</code> 以外の場合、<a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.code\" title=\"django.core.validators.RegexValidator.code\"><code class=\"xref py py-attr docutils literal notranslate\">code</code></a> をオーバーライドします。</p></li>\n<li><p><strong>inverse_match</strong> -- <code class=\"docutils literal notranslate\">None</code> 以外の場合、<a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.inverse_match\" title=\"django.core.validators.RegexValidator.inverse_match\"><code class=\"xref py py-attr docutils literal notranslate\">inverse_match</code></a> をオーバーライドする。</p></li>\n<li><p><strong>flags</strong> -- <code class=\"docutils literal notranslate\">None</code> 以外の場合、<a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.flags\" title=\"django.core.validators.RegexValidator.flags\"><code class=\"xref py py-attr docutils literal notranslate\">flags</code></a> をオーバーライドします。指定する場合、<a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.regex\" title=\"django.core.validators.RegexValidator.regex\"><code class=\"xref py py-attr docutils literal notranslate\">regex</code></a> は正規表現の文字列にする必要があります。それ以外の場合は <a class=\"reference external\" href=\"https://docs.python.org/3/library/exceptions.html#TypeError\" title=\"(in Python v3.14)\"><code class=\"xref py py-exc docutils literal notranslate\">TypeError</code></a> が発生します。</p></li>\n</ul>\n</dd>\n</dl>\n<p><a class=\"reference internal\" href=\"#django.core.validators.RegexValidator\" title=\"django.core.validators.RegexValidator\"><code class=\"xref py py-class docutils literal notranslate\">RegexValidator</code></a> は、与えられた <code class=\"docutils literal notranslate\">value</code> を指定された正規表現で <a class=\"reference external\" href=\"https://docs.python.org/3/library/re.html#re.search\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">re.search()</code></a> で検索します。デフォルトでは、一致が <strong>見つからない</strong> 場合に <a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.message\" title=\"django.core.validators.RegexValidator.message\"><code class=\"xref py py-attr docutils literal notranslate\">message</code></a> と <a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.code\" title=\"django.core.validators.RegexValidator.code\"><code class=\"xref py py-attr docutils literal notranslate\">code</code></a> を持つ <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> を発生させます。<a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.inverse_match\" title=\"django.core.validators.RegexValidator.inverse_match\"><code class=\"xref py py-attr docutils literal notranslate\">inverse_match</code></a> を <code class=\"docutils literal notranslate\">True</code> に設定することで、動作を逆にできます。この場合、一致が <strong>見つかった</strong> ときに <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> が発生します。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.RegexValidator.regex\">\n<span class=\"sig-name descname\">regex</span><a class=\"heading-anchor\" href=\"#django.core.validators.RegexValidator.regex\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference external\" href=\"https://docs.python.org/3/library/re.html#re.search\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">re.search()</code></a> を使用して、指定された <code class=\"docutils literal notranslate\">value</code> 内を検索する正規表現パターンです。これは文字列か <a class=\"reference external\" href=\"https://docs.python.org/3/library/re.html#re.compile\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">re.compile()</code></a> で作成されたコンパイル済みの正規表現です。 デフォルトは空文字列で、すべての <code class=\"docutils literal notranslate\">value</code> から検索されます。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.RegexValidator.message\">\n<span class=\"sig-name descname\">message</span><a class=\"heading-anchor\" href=\"#django.core.validators.RegexValidator.message\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>バリデーションが失敗した場合に <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> で使用されるエラーメッセージです。デフォルトは <code class=\"docutils literal notranslate\">&quot;Enter a valid value&quot;</code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.RegexValidator.code\">\n<span class=\"sig-name descname\">code</span><a class=\"heading-anchor\" href=\"#django.core.validators.RegexValidator.code\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>バリデーションが失敗した場合に <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> で使用されるエラーコードです。デフォルトは <code class=\"docutils literal notranslate\">&quot;invalid&quot;</code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.RegexValidator.inverse_match\">\n<span class=\"sig-name descname\">inverse_match</span><a class=\"heading-anchor\" href=\"#django.core.validators.RegexValidator.inverse_match\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.regex\" title=\"django.core.validators.RegexValidator.regex\"><code class=\"xref py py-attr docutils literal notranslate\">regex</code></a> に対する match モードです。デフォルトは <code class=\"docutils literal notranslate\">False</code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.RegexValidator.flags\">\n<span class=\"sig-name descname\">flags</span><a class=\"heading-anchor\" href=\"#django.core.validators.RegexValidator.flags\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>正規表現の文字列 <a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.regex\" title=\"django.core.validators.RegexValidator.regex\"><code class=\"xref py py-attr docutils literal notranslate\">regex</code></a> とともにコンパイルに使われる <a class=\"reference external\" href=\"https://docs.python.org/3/library/re.html#contents-of-module-re\" title=\"(in Python v3.14)\"><span class=\"xref std std-ref\">regex フラグ</span></a> です。<a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.regex\" title=\"django.core.validators.RegexValidator.regex\"><code class=\"xref py py-attr docutils literal notranslate\">regex</code></a> にコンパイル済みの正規表現を指定した場合、<a class=\"reference internal\" href=\"#django.core.validators.RegexValidator.flags\" title=\"django.core.validators.RegexValidator.flags\"><code class=\"xref py py-attr docutils literal notranslate\">flags</code></a> をオーバーライドすると <a class=\"reference external\" href=\"https://docs.python.org/3/library/exceptions.html#TypeError\" title=\"(in Python v3.14)\"><code class=\"xref py py-exc docutils literal notranslate\">TypeError</code></a> が発生します。デフォルトは <code class=\"docutils literal notranslate\">0</code> です。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"emailvalidator\">\n<h3><code class=\"docutils literal notranslate\">EmailValidator</code><a class=\"heading-anchor\" href=\"#emailvalidator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.EmailValidator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">EmailValidator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">message<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">code<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">allowlist<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.EmailValidator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"field-list simple\">\n<dt class=\"field-odd\">パラメータ<span class=\"colon\">:</span></dt>\n<dd class=\"field-odd\"><ul class=\"simple\">\n<li><p><strong>message</strong> -- <code class=\"docutils literal notranslate\">None</code> 以外の場合、<a class=\"reference internal\" href=\"#django.core.validators.EmailValidator.message\" title=\"django.core.validators.EmailValidator.message\"><code class=\"xref py py-attr docutils literal notranslate\">message</code></a> をオーバーライドします。</p></li>\n<li><p><strong>code</strong> -- <code class=\"docutils literal notranslate\">None</code> 以外の場合、<a class=\"reference internal\" href=\"#django.core.validators.EmailValidator.code\" title=\"django.core.validators.EmailValidator.code\"><code class=\"xref py py-attr docutils literal notranslate\">code</code></a> をオーバーライドします。</p></li>\n<li><p><strong>allowlist</strong> -- <code class=\"docutils literal notranslate\">None</code> 以外の場合、<a class=\"reference internal\" href=\"#django.core.validators.EmailValidator.allowlist\" title=\"django.core.validators.EmailValidator.allowlist\"><code class=\"xref py py-attr docutils literal notranslate\">allowlist</code></a> をオーバーライドします。</p></li>\n</ul>\n</dd>\n</dl>\n<p><a class=\"reference internal\" href=\"#django.core.validators.EmailValidator\" title=\"django.core.validators.EmailValidator\"><code class=\"xref py py-class docutils literal notranslate\">EmailValidator</code></a> は値がメールアドレスとして解釈可能であることを確認し、そうでない場合は <a class=\"reference internal\" href=\"#django.core.validators.EmailValidator.message\" title=\"django.core.validators.EmailValidator.message\"><code class=\"xref py py-attr docutils literal notranslate\">message</code></a> と <a class=\"reference internal\" href=\"#django.core.validators.EmailValidator.code\" title=\"django.core.validators.EmailValidator.code\"><code class=\"xref py py-attr docutils literal notranslate\">code</code></a> を持つ <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> を発生させます。320 文字以上の値は常に無効とみなされます。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.EmailValidator.message\">\n<span class=\"sig-name descname\">message</span><a class=\"heading-anchor\" href=\"#django.core.validators.EmailValidator.message\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>バリデーションに失敗した場合に <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> が使用するエラーメッセージです。デフォルトは <code class=\"docutils literal notranslate\">&quot;Enter a valid email address&quot;</code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.EmailValidator.code\">\n<span class=\"sig-name descname\">code</span><a class=\"heading-anchor\" href=\"#django.core.validators.EmailValidator.code\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>バリデーションが失敗した場合に <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> で使用されるエラーコードです。デフォルトは <code class=\"docutils literal notranslate\">&quot;invalid&quot;</code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.EmailValidator.allowlist\">\n<span class=\"sig-name descname\">allowlist</span><a class=\"heading-anchor\" href=\"#django.core.validators.EmailValidator.allowlist\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>メールドメインの許可リスト。デフォルトでは、正規表現(<code class=\"docutils literal notranslate\">domain_regex</code> 属性)を使って <code class=\"docutils literal notranslate\">&#64;</code> 記号の後に現れる文字列を検証します。しかし、その文字列が <code class=\"docutils literal notranslate\">allowlist</code> に含まれている場合、この検証はバイパスされます。指定しない場合、デフォルトの <code class=\"docutils literal notranslate\">allowlist</code> は <code class=\"docutils literal notranslate\">['localhost']</code> です。ドットを含まない他のドメインはバリデーションを通過しないので、必要に応じて <code class=\"docutils literal notranslate\">allowlist</code> に追加する必要があります。</p>\n</dd></dl>\n\n<aside class=\"version-note version-changed\" data-version=\"3.2.20\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 3.2.20</p><p>古いバージョンでは、320文字より長い値が有効とみなされることがありました。</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"urlvalidator\">\n<h3><code class=\"docutils literal notranslate\">URLValidator</code><a class=\"heading-anchor\" href=\"#urlvalidator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.URLValidator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">URLValidator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">schemes<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">regex<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">message<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">code<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.URLValidator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.core.validators.RegexValidator\" title=\"django.core.validators.RegexValidator\"><code class=\"xref py py-class docutils literal notranslate\">RegexValidator</code></a> のサブクラスで、値が URL として解釈可能であることを確認し、そうでない場合は <code class=\"docutils literal notranslate\">'invalid'</code> というエラーコードを発生させます。 <a class=\"reference internal\" href=\"#django.core.validators.URLValidator.max_length\" title=\"django.core.validators.URLValidator.max_length\"><code class=\"xref py py-attr docutils literal notranslate\">max_length</code></a> 文字より長い値は常に無効とみなされます。</p>\n<p>ループバックアドレスと予約済み IP スペースは有効とみなされます。リテラル IPv6 アドレス (<span class=\"target\" id=\"index-2\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc3986.html#section-3.2.2\"><strong>RFC 3986 Section 3.2.2</strong></a>) と Unicode ドメインの両方がサポートされています。</p>\n<p>親クラスである <a class=\"reference internal\" href=\"#django.core.validators.RegexValidator\" title=\"django.core.validators.RegexValidator\"><code class=\"xref py py-class docutils literal notranslate\">RegexValidator</code></a> のオプション引数に加え、 <code class=\"docutils literal notranslate\">URLValidator</code> はさらにオプション属性を受け付けます：</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.URLValidator.schemes\">\n<span class=\"sig-name descname\">schemes</span><a class=\"heading-anchor\" href=\"#django.core.validators.URLValidator.schemes\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>検証するURL/URIスキームのリスト。指定がない場合、デフォルトのリストは <code class=\"docutils literal notranslate\">['http', 'https', 'ftp', 'ftps']</code> です。参考として、IANAのウェブサイトに <a class=\"reference external\" href=\"https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml\">valid URI schemes</a> の完全なリストがあります。</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">警告</p>\n<p><code class=\"docutils literal notranslate\">file:///</code> で始まる値は、 <code class=\"docutils literal notranslate\">file</code> スキームが指定されていてもバリデーションを通過しません。ホスト名を追加する必要があります。</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.URLValidator.max_length\">\n<span class=\"sig-name descname\">max_length</span><a class=\"heading-anchor\" href=\"#django.core.validators.URLValidator.max_length\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"3.2.20\" role=\"note\">\n<p class=\"version-note-title\">New in Django 3.2.20</p></aside>\n<p>有効な値とみなされる最大長。デフォルトは2048文字です。</p>\n</dd></dl>\n\n<aside class=\"version-note version-changed\" data-version=\"3.2.20\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 3.2.20</p><p>古いバージョンでは、2048文字より長い値が有効とみなされることがありました。</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"validate-email\">\n<h3><code class=\"docutils literal notranslate\">validate_email</code><a class=\"heading-anchor\" href=\"#validate-email\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.validate_email\">\n<span class=\"sig-name descname\">validate_email</span><a class=\"heading-anchor\" href=\"#django.core.validators.validate_email\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>カスタマイズされていない <a class=\"reference internal\" href=\"#django.core.validators.EmailValidator\" title=\"django.core.validators.EmailValidator\"><code class=\"xref py py-class docutils literal notranslate\">EmailValidator</code></a> インスタンスです。</p>\n</dd></dl>\n\n</section>\n<section id=\"validate-slug\">\n<h3><code class=\"docutils literal notranslate\">validate_slug</code><a class=\"heading-anchor\" href=\"#validate-slug\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.validate_slug\">\n<span class=\"sig-name descname\">validate_slug</span><a class=\"heading-anchor\" href=\"#django.core.validators.validate_slug\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>値が文字、数字、アンダースコアまたはハイフンのみで構成されていることを確認する <a class=\"reference internal\" href=\"#django.core.validators.RegexValidator\" title=\"django.core.validators.RegexValidator\"><code class=\"xref py py-class docutils literal notranslate\">RegexValidator</code></a> インスタンスです。</p>\n</dd></dl>\n\n</section>\n<section id=\"validate-unicode-slug\">\n<h3><code class=\"docutils literal notranslate\">validate_unicode_slug</code><a class=\"heading-anchor\" href=\"#validate-unicode-slug\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.validate_unicode_slug\">\n<span class=\"sig-name descname\">validate_unicode_slug</span><a class=\"heading-anchor\" href=\"#django.core.validators.validate_unicode_slug\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>値が Unicode 文字、数字、アンダースコア、またはハイフンのみで構成されていることを確認する <a class=\"reference internal\" href=\"#django.core.validators.RegexValidator\" title=\"django.core.validators.RegexValidator\"><code class=\"xref py py-class docutils literal notranslate\">RegexValidator</code></a> インスタンスです。</p>\n</dd></dl>\n\n</section>\n<section id=\"validate-ipv4-address\">\n<h3><code class=\"docutils literal notranslate\">validate_ipv4_address</code><a class=\"heading-anchor\" href=\"#validate-ipv4-address\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.validate_ipv4_address\">\n<span class=\"sig-name descname\">validate_ipv4_address</span><a class=\"heading-anchor\" href=\"#django.core.validators.validate_ipv4_address\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>値がIPv4アドレスとして解釈可能であることを保証する <a class=\"reference internal\" href=\"#django.core.validators.RegexValidator\" title=\"django.core.validators.RegexValidator\"><code class=\"xref py py-class docutils literal notranslate\">RegexValidator</code></a> インスタンスです。</p>\n</dd></dl>\n\n</section>\n<section id=\"validate-ipv6-address\">\n<h3><code class=\"docutils literal notranslate\">validate_ipv6_address</code><a class=\"heading-anchor\" href=\"#validate-ipv6-address\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.validate_ipv6_address\">\n<span class=\"sig-name descname\">validate_ipv6_address</span><a class=\"heading-anchor\" href=\"#django.core.validators.validate_ipv6_address\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>IPv6 アドレスの有効性をチェックするには <code class=\"docutils literal notranslate\">django.utils.ipv6</code> を使います。</p>\n</dd></dl>\n\n</section>\n<section id=\"validate-ipv46-address\">\n<h3><code class=\"docutils literal notranslate\">validate_ipv46_address</code><a class=\"heading-anchor\" href=\"#validate-ipv46-address\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.validate_ipv46_address\">\n<span class=\"sig-name descname\">validate_ipv46_address</span><a class=\"heading-anchor\" href=\"#django.core.validators.validate_ipv46_address\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">validate_ipv4_address</code> と <code class=\"docutils literal notranslate\">validate_ipv6_address</code> の両方を使用して、値が有効な IPv4 アドレスまたは IPv6 アドレスであることを確認します。</p>\n</dd></dl>\n\n</section>\n<section id=\"validate-comma-separated-integer-list\">\n<h3><code class=\"docutils literal notranslate\">validate_comma_separated_integer_list</code><a class=\"heading-anchor\" href=\"#validate-comma-separated-integer-list\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.validate_comma_separated_integer_list\">\n<span class=\"sig-name descname\">validate_comma_separated_integer_list</span><a class=\"heading-anchor\" href=\"#django.core.validators.validate_comma_separated_integer_list\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>値がカンマで区切られた整数のリストであることを確認する <a class=\"reference internal\" href=\"#django.core.validators.RegexValidator\" title=\"django.core.validators.RegexValidator\"><code class=\"xref py py-class docutils literal notranslate\">RegexValidator</code></a> インスタンスです。</p>\n</dd></dl>\n\n</section>\n<section id=\"int-list-validator\">\n<h3><code class=\"docutils literal notranslate\">int_list_validator</code><a class=\"heading-anchor\" href=\"#int-list-validator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.int_list_validator\">\n<span class=\"sig-name descname\">int_list_validator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">sep<span class=\"o\">=</span><span class=\"default_value\">','</span></em>, <em class=\"sig-param\">message<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">code<span class=\"o\">=</span><span class=\"default_value\">'invalid'</span></em>, <em class=\"sig-param\">allow_negative<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.int_list_validator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列が <code class=\"docutils literal notranslate\">sep</code> で区切られた整数で構成されていることを確認する <a class=\"reference internal\" href=\"#django.core.validators.RegexValidator\" title=\"django.core.validators.RegexValidator\"><code class=\"xref py py-class docutils literal notranslate\">RegexValidator</code></a> インスタンスを返します。これは <code class=\"docutils literal notranslate\">allow_negative</code> が <code class=\"docutils literal notranslate\">True</code> の場合に負の整数を許容します。</p>\n</dd></dl>\n\n</section>\n<section id=\"maxvaluevalidator\">\n<h3><code class=\"docutils literal notranslate\">MaxValueValidator</code><a class=\"heading-anchor\" href=\"#maxvaluevalidator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.MaxValueValidator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MaxValueValidator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">limit_value</em>, <em class=\"sig-param\">message<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.MaxValueValidator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">value</code> が <code class=\"docutils literal notranslate\">limit_value</code> よりも大きい場合、<code class=\"docutils literal notranslate\">'max_value'</code> のエラーコードを持つ <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> を発生させます。<code class=\"docutils literal notranslate\">limit_value</code> には呼び出し可能オブジェクトを指定可能です。</p>\n</dd></dl>\n\n</section>\n<section id=\"minvaluevalidator\">\n<h3><code class=\"docutils literal notranslate\">MinValueValidator</code><a class=\"heading-anchor\" href=\"#minvaluevalidator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.MinValueValidator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MinValueValidator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">limit_value</em>, <em class=\"sig-param\">message<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.MinValueValidator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">value</code> が <code class=\"docutils literal notranslate\">limit_value</code> よりも小さい場合、<code class=\"docutils literal notranslate\">'min_value'</code> のエラーコードを持つ <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> を発生させます。<code class=\"docutils literal notranslate\">limit_value</code> には呼び出し可能オブジェクトを指定できます。</p>\n</dd></dl>\n\n</section>\n<section id=\"maxlengthvalidator\">\n<h3><code class=\"docutils literal notranslate\">MaxLengthValidator</code><a class=\"heading-anchor\" href=\"#maxlengthvalidator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.MaxLengthValidator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MaxLengthValidator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">limit_value</em>, <em class=\"sig-param\">message<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.MaxLengthValidator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">value</code> が <code class=\"docutils literal notranslate\">limit_value</code> よりも長い場合、<code class=\"docutils literal notranslate\">'max_length'</code> のエラーコードを持つ <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> を発生させます。<code class=\"docutils literal notranslate\">limit_value</code> には呼び出し可能オブジェクトを指定できます。</p>\n</dd></dl>\n\n</section>\n<section id=\"minlengthvalidator\">\n<h3><code class=\"docutils literal notranslate\">MinLengthValidator</code><a class=\"heading-anchor\" href=\"#minlengthvalidator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.MinLengthValidator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MinLengthValidator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">limit_value</em>, <em class=\"sig-param\">message<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.MinLengthValidator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">value</code> が <code class=\"docutils literal notranslate\">limit_value</code> よりも短い場合、<code class=\"docutils literal notranslate\">'min_length'</code> のエラーコードを持つ <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> を発生させます。<code class=\"docutils literal notranslate\">limit_value</code> には呼び出し可能オブジェクトを指定できます。</p>\n</dd></dl>\n\n</section>\n<section id=\"decimalvalidator\">\n<h3><code class=\"docutils literal notranslate\">DecimalValidator</code><a class=\"heading-anchor\" href=\"#decimalvalidator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.DecimalValidator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">DecimalValidator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">max_digits</em>, <em class=\"sig-param\">decimal_places</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.DecimalValidator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>以下のコードで <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> を例外を発生させます：</p>\n<ul class=\"simple\">\n<li><p>桁数が <code class=\"docutils literal notranslate\">max_digits</code> より大きい場合は <code class=\"docutils literal notranslate\">'max_digits'</code> 。</p></li>\n<li><p>小数点以下の桁数が <code class=\"docutils literal notranslate\">decimal_places</code> より大きい場合は <code class=\"docutils literal notranslate\">'max_decimal_places'</code> 。</p></li>\n<li><p>整数部の桁数が <code class=\"docutils literal notranslate\">max_digits</code> と <code class=\"docutils literal notranslate\">decimal_places</code> の差よりも大きい場合は、<code class=\"docutils literal notranslate\">'max_whole_digits'</code> 。</p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"fileextensionvalidator\">\n<h3><code class=\"docutils literal notranslate\">FileExtensionValidator</code><a class=\"heading-anchor\" href=\"#fileextensionvalidator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.FileExtensionValidator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">FileExtensionValidator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">allowed_extensions</em>, <em class=\"sig-param\">message</em>, <em class=\"sig-param\">code</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.FileExtensionValidator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">value.name</code> (<code class=\"docutils literal notranslate\">value</code> は <a class=\"reference internal\" href=\"/ja/5.0/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\">File</code></a>) の拡張子が <code class=\"docutils literal notranslate\">allowed_extensions</code> で見つからなかった場合、 <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> を <code class=\"docutils literal notranslate\">'invalid_extension'</code> のエラーコードで発生させます。拡張子は大文字小文字を区別せずに <code class=\"docutils literal notranslate\">allowed_extensions</code> と比較されます。</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">警告</p>\n<p>ファイルの種類を決定するために、ファイル拡張子の検証に依存しないでください。ファイル名は、どんなデータを含んでいても、どんな拡張子にも変更できます。</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"validate-image-file-extension\">\n<h3><code class=\"docutils literal notranslate\">validate_image_file_extension</code><a class=\"heading-anchor\" href=\"#validate-image-file-extension\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.validate_image_file_extension\">\n<span class=\"sig-name descname\">validate_image_file_extension</span><a class=\"heading-anchor\" href=\"#django.core.validators.validate_image_file_extension\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Pillow を使って <code class=\"docutils literal notranslate\">value.name</code> (<code class=\"docutils literal notranslate\">value</code> は <a class=\"reference internal\" href=\"/ja/5.0/ref/files/file/#django.core.files.File\" title=\"django.core.files.File\"><code class=\"xref py py-class docutils literal notranslate\">File</code></a>) が <a class=\"reference external\" href=\"https://pillow.readthedocs.io/en/latest/handbook/image-file-formats.html\">有効な画像拡張子</a> を持っていることを確認します。</p>\n</dd></dl>\n\n</section>\n<section id=\"prohibitnullcharactersvalidator\">\n<h3><code class=\"docutils literal notranslate\">ProhibitNullCharactersValidator</code><a class=\"heading-anchor\" href=\"#prohibitnullcharactersvalidator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.ProhibitNullCharactersValidator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ProhibitNullCharactersValidator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">message<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">code<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.ProhibitNullCharactersValidator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">str(value)</code> に null 文字 (<code class=\"docutils literal notranslate\">'˶x00'</code>) が一つ以上含まれる場合、 <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> を発生させます。</p>\n<dl class=\"field-list simple\">\n<dt class=\"field-odd\">パラメータ<span class=\"colon\">:</span></dt>\n<dd class=\"field-odd\"><ul class=\"simple\">\n<li><p><strong>message</strong> -- <code class=\"docutils literal notranslate\">None</code> 以外の場合、<a class=\"reference internal\" href=\"#django.core.validators.ProhibitNullCharactersValidator.message\" title=\"django.core.validators.ProhibitNullCharactersValidator.message\"><code class=\"xref py py-attr docutils literal notranslate\">message</code></a> をオーバーライドします。</p></li>\n<li><p><strong>code</strong> -- <code class=\"docutils literal notranslate\">None</code> 以外の場合、<a class=\"reference internal\" href=\"#django.core.validators.ProhibitNullCharactersValidator.code\" title=\"django.core.validators.ProhibitNullCharactersValidator.code\"><code class=\"xref py py-attr docutils literal notranslate\">code</code></a> をオーバーライドします。</p></li>\n</ul>\n</dd>\n</dl>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.ProhibitNullCharactersValidator.message\">\n<span class=\"sig-name descname\">message</span><a class=\"heading-anchor\" href=\"#django.core.validators.ProhibitNullCharactersValidator.message\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>バリデーションに失敗した場合に <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> が使用するエラーメッセージです。デフォルトは <code class=\"docutils literal notranslate\">&quot;Null characters are not allowed.&quot;</code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.ProhibitNullCharactersValidator.code\">\n<span class=\"sig-name descname\">code</span><a class=\"heading-anchor\" href=\"#django.core.validators.ProhibitNullCharactersValidator.code\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>バリデーションに失敗した場合に <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> が使用するエラーコードです。デフォルトは <code class=\"docutils literal notranslate\">&quot;null_characters_not_allowed&quot;</code> です。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"stepvaluevalidator\">\n<h3><code class=\"docutils literal notranslate\">StepValueValidator</code><a class=\"heading-anchor\" href=\"#stepvaluevalidator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.validators.StepValueValidator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">StepValueValidator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">limit_value</em>, <em class=\"sig-param\">message<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">offset<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.validators.StepValueValidator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>値が <code class=\"docutils literal notranslate\">limit_value</code> の整数倍でない場合、 <a class=\"reference internal\" href=\"/ja/5.0/ref/exceptions/#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\">ValidationError</code></a> を <code class=\"docutils literal notranslate\">'step_size'</code> のコードで発生させます。 <code class=\"docutils literal notranslate\">offset</code> が設定されている場合は、 <code class=\"docutils literal notranslate\">limit_value</code> と <code class=\"docutils literal notranslate\">offset</code> を足した値に対してバリデーションが行われます。たとえば、 <code class=\"docutils literal notranslate\">StepValueValidator(3, offset=1.4)</code> の場合、有効な値は <code class=\"docutils literal notranslate\">1.4</code>、<code class=\"docutils literal notranslate\">4.4</code>、<code class=\"docutils literal notranslate\">7.4</code>、<code class=\"docutils literal notranslate\">10.4</code> などです。</p>\n<aside class=\"version-note version-changed\" data-version=\"5.0\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.0</p><p><code class=\"docutils literal notranslate\">offset</code> 引数が追加されました。</p>\n</aside>\n</dd></dl>\n\n</section>\n</section>","rootId":"module-django.core.validators","toc":[{"title":"バリデータを記述する","anchor":"writing-validators","children":[]},{"title":"バリデータはどのように実行されるか","anchor":"how-validators-are-run","children":[]},{"title":"ビルトインのバリデータ","anchor":"built-in-validators","children":[{"title":"RegexValidator","anchor":"regexvalidator","children":[]},{"title":"EmailValidator","anchor":"emailvalidator","children":[]},{"title":"URLValidator","anchor":"urlvalidator","children":[]},{"title":"validate_email","anchor":"validate-email","children":[]},{"title":"validate_slug","anchor":"validate-slug","children":[]},{"title":"validate_unicode_slug","anchor":"validate-unicode-slug","children":[]},{"title":"validate_ipv4_address","anchor":"validate-ipv4-address","children":[]},{"title":"validate_ipv6_address","anchor":"validate-ipv6-address","children":[]},{"title":"validate_ipv46_address","anchor":"validate-ipv46-address","children":[]},{"title":"validate_comma_separated_integer_list","anchor":"validate-comma-separated-integer-list","children":[]},{"title":"int_list_validator","anchor":"int-list-validator","children":[]},{"title":"MaxValueValidator","anchor":"maxvaluevalidator","children":[]},{"title":"MinValueValidator","anchor":"minvaluevalidator","children":[]},{"title":"MaxLengthValidator","anchor":"maxlengthvalidator","children":[]},{"title":"MinLengthValidator","anchor":"minlengthvalidator","children":[]},{"title":"DecimalValidator","anchor":"decimalvalidator","children":[]},{"title":"FileExtensionValidator","anchor":"fileextensionvalidator","children":[]},{"title":"validate_image_file_extension","anchor":"validate-image-file-extension","children":[]},{"title":"ProhibitNullCharactersValidator","anchor":"prohibitnullcharactersvalidator","children":[]},{"title":"StepValueValidator","anchor":"stepvaluevalidator","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/5.0/ref/"}],"prev":{"docname":"ref/utils","title":"Django ユーティリティ (django.utils)","url":"/ja/5.0/ref/utils/"},"next":{"docname":"ref/views","title":"組み込みのビュー","url":"/ja/5.0/ref/views/"},"formats":{"html":"/ja/5.0/ref/validators/","markdown":"/ja/5.0/ref/validators.md","json":"/ja/5.0/ref/validators.json"},"source":"https://github.com/django/django/blob/stable/5.0.x/docs/ref/validators.txt","official":"https://docs.djangoproject.com/ja/5.0/ref/validators/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}