码迷,mamicode.com
首页 > 其他好文 > 详细

Django的form(和model)验证器

时间:2020-04-21 15:13:23      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:一个   ror   for   mod   tor   test   erro   rom   https   

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)验证器

标签:一个   ror   for   mod   tor   test   erro   rom   https   

原文地址:https://www.cnblogs.com/shuangpang/p/12744426.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!