跳转到主要内容

制作可跳过的表单验证器的助手

项目描述

动机

在开发2014年EuroPython网站时,我们遇到了一个比较昂贵的字段验证器。

遗憾的是,模型/表单字段上的validators-属性总是作为一个整体进行评估(这意味着列表中的每个验证器都会执行,无论前一个是否已出错)。

尽管如此,我们仍然想简单地使用字段验证器API,因为它可以轻松地进行测试。

如何使用

from django.db import models

from validatorchain import ValidatorChain

from .validators import a_cheap_validator
from .validators import another_cheap_validator
from .validators import an_expensive_validator


class SomeModel(models.Model):
    field = models.CharField(
        max_length=100,
        validators=ValidatorChain()
            .add(a_cheap_validator)
            .add(an_expensive_validator, skip_on_error=True)
            .add(another_cheap_validator)
        )

这样,如果an_expensive_validator已经抛出异常,则不会执行an_expensive_validator,而another_cheap_validator将再次执行。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

django-validatorchain-0.1.tar.gz (2.0 kB 查看散列

上传时间: 源代码

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面