Django - 模型层 - 验证器

目录

  • 内置验证器
    • RegexValidator
    • EmailValidator
    • URLValidator
    • validate_slug
    • validate_comma_separated_integer_list
    • int_list_validator
    • MaxValueValidator
    • MinValueValidator
    • MaxLengthValidator
    • MinLengthValidator
    • DecimalValidator
    • FileExtensionValidator
    • validate_image_file_extension
    • ProhibitNullCharactersValidator

内置验证器

RegexValidator

正则匹配验证器.

class RegexValidator(regex=None, message=None, code=None, inverse_match=None, flags=0)
  • regex:用于匹配的正则表达式
  • message:自定义异常错误信息。默认是"Enter a valid value"
  • code:自定义错误码。默认是"invalid"
  • inverse_match:将通过和不通过验证的判断逻辑反转。也就是未命中则平安,命中则出错。
  • flags:编译正则表达式时使用的正则flags。默认为0。

EmailValidator

邮件格式验证器。

class EmailValidator(message=None, code=None, whitelist=None)
  • message: 自定义错误信息,默认为 “Enter a valid email address”。
  • code: 自定义错误码,默认为"invalid"。
  • whitelist:邮件域名白名单,默认为[‘localhost’]。

URLValidator

用于验证url的格式是否正确。

class URLValidator(schemes=None, regex=None, message=None, code=None)
  • schemes:指定URL/URI的协议模式,默认值为[‘http’, ‘https’, ‘ftp’, ‘ftps’]

validate_slug

一个确保输入值是字母、数字、下划线和连字符组合的RegexValidator的实例。

validate_comma_separated_integer_list

判断输入是否是一个以逗号分隔的数字列表,一个RegexValidator的实例。

int_list_validator

int_list_validator(sep=', ', message=None, code='invalid', allow_negative=False)

判断一个由数字组成的字符串是否以指定的sep分隔。allow_negative用于反转判断逻辑。

MaxValueValidator

class MaxValueValidator(limit_value, message=None)

是否超过指定最大值

MinValueValidator

class MinValueValidator(limit_value, message=None)

是否小于指定的最小值

MaxLengthValidator

class MaxLengthValidator(limit_value, message=None)

输入值的长度是否超过限定值

MinLengthValidator

输入值的长度是否小于限定值

DecimalValidator

lass DecimalValidator(max_digits, decimal_places)

数字验证器。当发生下面情况时弹出异常:
输入值超过max_digits
输入值的位数超过decimal_places

FileExtensionValidator

class FileExtensionValidator(allowed_extensions, message, code)

文件扩展名不在合法性列表中。合法性列表通过参数allowed_extensions指定。

validate_image_file_extension

通过pillow库确定一个图片文件的扩展名是合法的

ProhibitNullCharactersValidator

class ProhibitNullCharactersValidator(message=None, code=None)

对输入值进行 str(value) 操作,转换成字符串,然后如果这个字符串中包含1个以上的空字符’\x00’,则验证失败。

你可能感兴趣的:(Django进阶,python,django)