BailíochtóiríLink to this heading

Bailíthe scríbhneoireachtaLink to this heading

Is bailíochtaire é bailíochtaire a ghlacann luach agus a ardaíonn a:exc: ~django.core.exceptions.validationError mura gcomhlíonann sé roinnt critéir. Is féidir le bailíochtóirí a bheith úsáideach chun loighic bailíochtaithe a athúsáid idir cineálacha éagsúla réimsí

Mar shampla, seo bailíochtóir nach gceadaíonn ach fionuimhreacha:

Code
from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _


def validate_even(value):
    if value % 2 != 0:
        raise ValidationError(
            _("%(value)s is not an even number"),
            params={"value": value},
        )

Is féidir leat é seo a chur le réimse samhail tríd an argóint réimse d's:attr: ~Django.db.Models.Field.Validators:

Code
from django.db import models


class MyModel(models.Model):
    even_field = models.IntegerField(validators=[validate_even])

Toisc go ndéantar luachanna a thiontú go Python sula ndéantar bailíochtóirí a reáchtáil, is féidir leat an bailíochtóir céanna a úsáid fiú le foirmeacha:

Code
from django import forms


class MyForm(forms.Form):
    even_field = forms.IntegerField(validators=[validate_even])

Is féidir leat rang a úsáid freisin le modh ``__call__ () ``le haghaidh bailíochtóirí níos casta nó níos cumraithe. :class: RegExvalidator, úsáideann an teicníc seo mar shampla. <migration-serializing><custom-deconstruct-method>Má úsáidtear bailíochtóir rang-bhunaithe sa rogha réimse samhail: attr: ~django.db.Models.Field.Validators, ba cheart duit a chinntiú go bhfuil sé: ref: inseriálaithe ag an gcreat imirce `trí:ref: `deconstruct () agus ``__eq__ () `modhanna a chur leis.

Conas a reáchtáiltear bailíochtóiríLink to this heading

</ref/forms/validation> <validating-objects>Féach an:doc: bailíochtú foirme le haghaidh tuilleadh eolais faoin gcaoi a reáchtáiltear bailíochtóirí i bhfoirmeacha, agus:ref: Rudaí bailíochtaithe `maidir le conas a reáchtáiltear iad i samhlacha. Tabhair faoi deara nach reáchtálfar bailíochtóirí go huathoibríoch nuair a shábhálann tú samhail, ach má tá a: class: `~django.forms.modelForm á úsáid agat, reáchtálfaidh sé do bhailíochtóirí ar aon réimsí atá san áireamh i d'fhoirm. Féach na:doc: Doiciméadú Modelfhoirme le haghaidh faisnéise maidir le conas a idirghníom</topics/forms/modelforms> haíonn bailíochtú samhail le foirmeacha.

Bailíochtóirí tógthaLink to this heading

Tá bailiúchán bailíochtóirí inghlaonta sa mhodúl:MOD: `django.core.validators `le húsáid le réimsí samhail agus foirm. Úsáidtear iad go hinmheánach ach tá siad ar fáil le húsáid le do réimsí féin freisin. Is féidir iad a úsáid i dteannta modhanna saincheaptha ``field.clean () `nó in ionad modhanna saincheaptha.

RegExvalidatorLink to this heading

class RegexValidator(regex=None, message=None, code=None, inverse_match=None, flags=0)Link to this definition
Paraiméadair:
  • regex -- Mura bhfuil None, cuirfidh sé airí:attr: regex. Is féidir a bheith ina shreang abairt rialta nó ina léiriú rialta réamhthiomsaithe.

  • message -- Mura bhfuil None, cuireann sé airí:attr: .message.

  • code -- Mura bhfuil None, cuireann sé airí:attr: cód.

  • inverse_match -- Mura bhfuil None, fhilleadh:attr: inverse_match.

  • flags -- Mura bhfuil None, cuireann sé airí:attr: bratacha `. Sa chás sin, caithfidh :attr: `regex a bheith ina teaghrán abairt rialta, nó:exc: TypeError a ardaítear.

A: Aicme: Cuardach RegExvalidator ar an luach` a chuirtear ar fáil le haghaidh abairt rialta ar le:func: re.search. De réir réamhshocraithe, ardaíonn a:exc: ~django.core.exceptions.validationError le:attr: teachtaire agus:attr: code mura bhfaightear meaitseach****. Is féidir a iompar a inbhéartú trí shocrú: attr: inverse_match go True, sa chás sin ardaítear an:exc: ~django.core.exceptions.validationError nuair a aimsítear cluiche ****.

regexLink to this definition

An patrún abairt rialta le cuardach a dhéanamh laistigh den luach` a chuirtear ar fáil, ag baint úsáid:func: re.search. D'fhéadfadh sé seo a bheith ina shreang nó ina abairt rialta réamhthiomsaithe a cruthaíodh le:func: re.compile. Réamhshocraithe don teaghrán folamh, a bheidh le fáil i ngach luach féideartha.

messageLink to this definition

An teachtaireacht earráide a úsáideann ar:exc: ~django.core.exceptions.validationError má theipeann ar bhailíochtú. Réamhshocraithe go "Cuir isteach luach bailí".

codeLink to this definition

An cód earráide a úsáideann ar:exc: ~django.core.exceptions.validationError má theipeann ar bhailíochtú. Réamhshocraithe go "neamhbhailí".

inverse_matchLink to this definition

An modh meaitseála le haghaidh: attr: regex. Réamhshocraithe go False.

flagsLink to this definition

An bhrataí: ref: regex `a úsáidtear agus an teaghrán abairt ri <python:contents-of-module-re>alta á thiomsú: attr: `regex. Má tá: attr: abairt rialta réamh-thiomsaithe é regex, agus:attr: flags a shárú, :exc: TypeError ardaítear. Réamhshocraithe go 0.

Bailíochtaitheoir ríomhphostLink to this heading

class EmailValidator(message=None, code=None, allowlist=None)Link to this definition
Paraiméadair:
  • message -- Mura bhfuil None, cuireann sé airí:attr: .message.

  • code -- Mura bhfuil None, cuireann sé airí:attr: cód.

  • allowlist -- Mura bhfuil None, cuirfidh sé airí:attr: liosta.

Cinntíonn an:class: EmailValidator go bhfuil cuma luach cosúil le ríomhphost, agus ardaíonn sé a:exc: ~django.core.exceptions.validationError le:attr: teachtaire agus:attr: code mura ndéanann sé. Meastar go bhfuil luachanna níos faide ná 320 carachtar neamhbhailí i gcó

messageLink to this definition

An teachtaireacht earráide a úsáideann ar:exc: ~django.core.exceptions.validationError má theipeann ar bhailíochtú. Réamhshocraithe go "Cuir isteach seoladh ríomhphoist bailí".

codeLink to this definition

An cód earráide a úsáideann ar:exc: ~django.core.exceptions.validationError má theipeann ar bhailíochtú. Réamhshocraithe go "neamhbhailí".

allowlistLink to this definition

Liosta de na bhfearann ríomhphoist. De réir réamhshocraithe, úsáidtear abairt rialta (an tréith domain_regex) chun gach rud atá le feiceáil tar éis an chomhartha @ a bhailíochtú. Mar sin féin, má tá an sreang sin le feiceáil sa liosta ceada, seachtar an bailíochtú seo. Mura gcuirtear ar fáil, is é “['localhost'] an réamhshocraithe ``liosta. Ní rachaidh fearainn eile nach bhfuil ponc iontu bailíochtú, mar sin bheadh ort iad a chur leis an liosta ceada` de réir mar is gá.

DomainmValidatorLink to this heading

class DomainNameValidator(accept_idna=True, message=None, code=None)Link to this definition

A: aicme: fo-aicme RegexValidator a chinntíonn go bhfuil cuma luach cosúil le ainm fearainn. Meastar go bhfuil luachanna níos faide ná 255 carachtar neamhbhailí i gcó Ní ghlactar le seoltaí IP mar ainmneacha fearainn bailí.

Chomh maith le hargóintí roghnacha a thuismitheoir:class: rang RegExvalidator, glacann DomainNameValidator le tréith roghnach breise:

accept_idnaLink to this definition

Cinneann sé an nglactar le hainmneacha fearainn idirnáisiúnta, is é sin, ainmneacha fearainn ina bhfuil carachtair neamh-ASCII. Réamhshocraithe go True.

UrlValidatorLink to this heading

class URLValidator(schemes=None, regex=None, message=None, code=None)Link to this definition

A: aicme: fo-aicme RegexValidator a chinntíonn go bhfuil cuma URL ar luach, agus a ardaíonn cód earráide 'invalid' mura ndéanann sé. Meastar go bhfuil luachanna níos faide ná: attr: `max_length `carachtair neamhbhailí i gcónaí.

Meastar go bhfuil seoltaí loopback agus spásanna IP curtha in áirithe bailí. Tacaítear le seoltaí litriúla IPv6 (:rfc: 3986 #section -3.2.2) agus fearainn Unicode araon.

Chomh maith le hargóintí roghnacha a thuismitheoir:class: rang RegExvalidator, glacann URLValidator le tréith roghnach breise:

schemesLink to this definition

Liosta scéime URL/URI le bailíochtú ina choinne. Mura gcuirtear ar fáil, is é an liosta réamhshocraithe ['http', 'https', 'ftp', 'ftps']. Mar thagairt, soláthraíonn láithreán gréasáin IANA liosta iomlán de `scéimeanna bailí URI `_.

max_lengthLink to this definition

An fad uasta na luachanna a d'fhéadfaí a mheas bailí. Réamhshocraithe go 2048 carachtar.

ríomhphost_bailíochtaLink to this heading

validate_emailLink to this definition

An:class: EmailValidator sampla gan aon saincheaptha.

ainm_fearainn bailaiteLink to this heading

validate_domain_nameLink to this definition

A: Class: DomainNameValidator sampla gan aon saincheaptha.

bailate_slugLink to this heading

validate_slugLink to this definition

A: Aicme: Sampla RegExValidator a chinntíonn go bhfuil luach nach bhfuil ach litreacha, uimhreacha, béim nó braithíní.

bailate_unicode_slugLink to this heading

validate_unicode_slugLink to this definition

A: Aicme: Sampla RegExvalidator a chinntíonn go bhfuil luach nach bhfuil ach litreacha, uimhreacha, béim nó braithíní Unicode.

``bailate_ipv4_address ``Link to this heading

validate_ipv4_addressLink to this definition

A: aicme: Sampla RegExValidator a chinntíonn go bhfuil cuma luach cosúil le seoladh IPv4.

``bailate_ipv6_address ``Link to this heading

validate_ipv6_addressLink to this definition

Úsáideann sé django.utils.ipv6 chun bailíocht seoladh IPv6 a sheiceáil.

``bailate_ipv46_address ``Link to this heading

validate_ipv46_addressLink to this definition

Úsáideann sé validate_ipv4_address ``agus ``validate_ipv6_address araon chun a chinntiú gur seoladh bailí IPv4 nó IPv6 é luach.

liosta_coma_iomlán bailíochtaí_scarthaLink to this heading

validate_comma_separated_integer_listLink to this definition

A: aicme: “RegExValidator” a chinntíonn go bhfuil luach ná liosta de shláimhreacha scartha le camóg.

int_liost_bailíochtarLink to this heading

int_list_validator(sep=',', message=None, code='invalid', allow_negative=False)Link to this definition

Tuairisceáin a:class: RegExValidator sampla a chinntíonn go bhfuil sreang comhdhéanta de shlánuimhreacha atá scartha le sep. Ceadaíonn sé sláimhreacha diúltacha nuair a bhíonn allow_negative` True.

MaxValueValidatorLink to this heading

class MaxValueValidator(limit_value, message=None)Link to this definition

Ardaíonn a:exc: ~django.core.exceptions.validationError le cód `'max_value'` ``lua níos mó ná limit_value, a d'fhéadfadh a bheith inghlaonta.

MinvaluevalidatorLink to this heading

class MinValueValidator(limit_value, message=None)Link to this definition

Ardaíonn a:exc: ~django.core.exceptions.validationError le cód `min_value'` ``lua níos lú ná limit_value, a d'fhéadfadh a bheith inghlaonta.

MaxLengthValidatorLink to this heading

class MaxLengthValidator(limit_value, message=None)Link to this definition

Ardaíonn a:exc: ~django.core.exceptions.validationError le cód `'max_long' má tá fad value níos mó ná limit_value, a d'fhéadfadh a bheith inghlaonta.

MinLengthValidatorLink to this heading

class MinLengthValidator(limit_value, message=None)Link to this definition

Ardaíonn a:exc: ~django.core.exceptions.validationError le cód `min_long má tá fad value níos lú ná limit_value, a d'fhéadfadh a bheith inghlaonta.

DeimalValidatorLink to this heading

class DecimalValidator(max_digits, decimal_places)Link to this definition

Ardaithe:exc: ~django.core.exceptions.validationError leis na cóid seo a leanas:

  • `'max_digits' má tá líon na ndigit níos mó ná max_digits.

  • ``max_decimal_places' má tá líon na ndeachmhálacha níos mó ná deach_places.

  • `'max_whole_digits' má tá líon na ndigit iomlána níos mó ná an difríocht idir max_digits agus deach_places.

FileExtensionValidatorLink to this heading

class FileExtensionValidator(allowed_extensions, message, code)Link to this definition

Ardaíonn a:exc: ~django.core.exceptions.validationError le cód `invalid_extension' mura bhfaightear síneadh value.name (value a:class: ~django.core.files.file) i allowed_extensions`. Déantar an síneadh a chur i gcomparáid go cás-neamhíogair le allowed_extensions.

validate_image_file_extensionLink to this heading

validate_image_file_extensionLink to this definition

< https://pillow.readthedocs.io/en/latest/handbook/image-file-formats.html>Úsáideann sé Pillow chun a chinntiú go bhfuil síneadh bailí íomhá ag value.name (value: a:class: ~django.core.files.file).

ProhibitNullCharactersValidatorLink to this heading

class ProhibitNullCharactersValidator(message=None, code=None)Link to this definition

Ardaíonn a:exc: ~django.core.exceptions.validationError má tá carachtar null amháin nó níos mó sa str (value) ``(`'\ x00').

Paraiméadair:
  • message -- Mura bhfuil None, cuireann sé airí:attr: .message.

  • code -- Mura bhfuil None, cuireann sé airí:attr: cód.

messageLink to this definition

An teachtaireacht earráide a úsáideann ar:exc: ~django.core.exceptions.validationError má theipeann ar bhailíochtú. Ní cheadaítear réamhshocraithe go ``"carachtair neall.” ``.

codeLink to this definition

An cód earráide a úsáideann ar:exc: ~django.core.exceptions.validationError má theipeann ar bhailíochtú. Réamhshocraithe go "null_caràcters_not_allowed".

StepValueValidatorLink to this heading

class StepValueValidator(limit_value, message=None, offset=None)Link to this definition

Ardaíonn a:exc: ~django.core.exceptions.validationError le cód `step_size'` mura bhfuil `value iolrach dhílis de limit_value`, is féidir a bheith ina luach snámhphointe, sláimhir nó deachúil nó inghlaoch. Nuair a shocraítear offset, tarlaíonn an bailíochtú i gcoinne limit_value móide offset. Mar shampla, i gcás StepValueValidator (3, offset = 1.4) ``tá luachanna bailí ```1.4, 4.4`, 7.4`, 10.4`, agus mar sin de.