Django的form(和model)验证器

Posted shuangpang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django的form(和model)验证器相关的知识,希望对你有一定的参考价值。

Django的form(和model)字段支持使用简单的实用函数和可调用的类作为一个验证器。

验证器是一个带值的可调用对象或函数,如果该值有效,则不返回任何内容,否则返回ValidationError 。

这些可以通过字段的validators参数传递给字段的构造函数,Field也可以使用default_validators属性在类本身上定义。

简单的验证器可用于验证字段中的值,例如:

from django.core import validators
from django import forms
from django.core.exceptions import ValidationError
import datetime

def validate_recharge(value):
    min_value = 5000
    if value < min_value:
        raise ValidationError(油卡充值金额必须大于%s % min_value)
    now = datetime.datetime.now()
    if now.hour > 22 or now.hour < 2:
        raise ValidationError(中石化系统正在结算,暂时无法充值)
        
class Test_Form(forms.Form):
    recharge = forms.FloatField(validators=[validate_recharge])  # 通过字段的validators参数传递给字段FloatField的构造函数
    
    
from django.db import models

class MyModel(models.Model):
    recharge = models.IntegerField(validators=[validate_recharge])    

 

以上是关于Django的form(和model)验证器的主要内容,如果未能解决你的问题,请参考以下文章

Django的form,model自定制

Django之ModelForm使用

框架----Django之Form提交验证

Django之ModelForm

Django之ModelForm

默认值的 Django 表单验证错误