django 表单 - 从 clean() 引发特定字段验证错误

2024-03-26

我对依赖于多个字段的表单进行了验证检查,但最好让验证错误向用户具体显示哪些字段导致了问题,而不仅仅是表单顶部的错误消息。 (该表单有很多字段,因此可以更清楚地具体显示错误所在)。

作为解决方法,我尝试在每个相关字段中创建相同的验证clean_field()方法,以便用户会在这些字段旁边看到错误。但是我似乎只能从以下位置访问该特定字段self.cleaned_data而不是其他的?

或者,是否可以从表单中引发字段错误clean() method?

尝试1:

   def clean_supply_months(self):
        if not self.cleaned_data.get('same_address') and not self.cleaned_data.get('supply_months'):
            raise forms.ValidationError('Please specify time at address if less than 3 years.')

    def clean_supply_years(self):
        if not self.cleaned_data.get('same_address') and not self.cleaned_data.get('supply_years'):
            raise forms.ValidationError('Please specify time at address if less than 3 years.')

    def clean_same_address(self):
          .....

如果您想访问多个字段的清理数据,您应该使用clean方法而不是clean_<field>方法。这add_error() https://docs.djangoproject.com/en/1.11/ref/forms/api/#django.forms.Form.add_error方法允许您将错误分配给特定字段。

例如,要添加请注明地址时间错误消息至same_address领域,你会这样做:

def clean(self):
    cleaned_data = super(ContactForm, self).clean()
    if not self.cleaned_data.get('same_address') and not self.cleaned_data.get('supply_months'):
        self.add_error('same_address', "Please specify time at address if less than 3 years.")
    return cleaned_data

请参阅文档验证相互依赖的字段 https://docs.djangoproject.com/en/1.11/ref/forms/validation/#cleaning-and-validating-fields-that-depend-on-each-other了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django 表单 - 从 clean() 引发特定字段验证错误 的相关文章

  • 在 Django 中创建员工用户

    我正在尝试在 Django 中创建一个员工用户 UserModel objects create user username A email email protected cdn cgi l email protection passwo
  • DRF SerializerMethodField 未被调用

    这是我的序列化器 class MetaDataSerializer serializers Serializer bg colors ColorSerializer Color objects all many True button ch
  • 使用 Django Rest Framework 上传文件

    我是 Django 新手 任何人都可以帮助我 我如何使用 Rest Framework API 上传文件 我尝试过关注此页面 http www django rest framework org api guide parsers file
  • Django Channels - 无法在断开连接时发送消息

    我希望能够在用户断开连接时向房间组发送消息 以便更新玩家列表 似乎一旦断开连接就不可能了 这在某种程度上是有意义的 但是在断开用户连接之前我如何能够向通道发送消息 我有以下代码 async def disconnect self close
  • Django django-location-field 缺少 API 密钥

    我正在使用https github com caioariede django location field https github com caioariede django location field使用 Django 构建位置视图
  • django OneToOne反向访问

    我有这些简单的课程 Class A models Model Class Meta models Model a models OnetoOneField A primary key True width models IntegerFie
  • Django - 如何直接从表中的按钮删除对象

    对不起 我的英语不好 我需要删除一个对象 但直接从模板中的对象列表中删除 我有一个工作订单 其中有备件 但我不知道如何仅使用工作订单详细视图中的按钮来创建备件的删除视图 这个想法是用户单击 删除 按钮 这是备件的型号 class Order
  • 如何在 Django 中创建 unique_for_field slug?

    姜戈有一个日期唯一 http docs djangoproject com en dev ref models fields unique for date您可以在将 SlugField 添加到模型时设置的属性 这会导致 slug 仅对于您
  • django 在我的机器上非常慢

    我全新安装了 django 1 0 并提供了一个简单的页面 需要 5 秒才能加载 在我同事的计算机上几乎不需要时间 我使用启动服务器 python manage py testserver 我可以看到每个 GET 请求 PNG 和样式表 大
  • Tastypie 访问继承模型中的字段

    是否可以使用 tastypie 在相关模型上包含字段 根据我的下面的模型 如果我将一个 VideoContent 和一个 TextContent 实例保存到数据库 我就可以从我的内容资源中获取 2 个对象 但是没有任何其他字段可用 是否可以
  • 嵌套和分段的脆皮布局

    TLDR 问题 如何使用 分段 不确定这是否被视为内联 布局和多个模型 有些相关 有些不相关 制作一个脆脆的表单 我正在尝试理解 Django 中的几件事 表单 表单集 嵌套表单和脆皮 我已经研究了一段时间了 感觉我已经很接近了 只是需要有
  • 如何使自定义 django 迁移可逆?

    我最初的问题是 给定一个包含 60M 行的数据库表 我需要将字段类型从布尔字段转换为整数字段 我想为此创建一个自定义的 django 迁移 如果您有比这更好的方法 请告诉我 如下所示 def make changes apps schema
  • 在 Django 中,当登录 URL 以 ?next=/accounts/logout/ 结尾时,停止重定向回注销

    在我的模板中 我目前正在使用next参数将用户重定向回登录页面之前的页面 a href Log in a The firstof标签确保万一request path无效 那么它将重定向回根 URL 这在除注销页面之外的每个页面上都适用 如果
  • 姜戈。 Python 社交身份验证。在管道末端创建配置文件

    我想在身份验证管道的末尾添加一个函数 该函数旨在检查该用户是否有 配置文件 表 如果没有 它将创建一个表 Profiles 模型是一个表 我在其中存储有关用户的一些额外信息 class Profiles models Model user
  • 为什么 MYSQL DB 在对 Django models.DateTimeField 求平均值时返回损坏的值?

    我正在 MySQL 实际上是 MariaDB 数据库上运行 Django 应用程序 我的 Django 模型如下所示 from django db import models from django db models import Avg
  • Django 无法导入设置

    我正在尝试在我的项目中使用 django admin dbshel l 任何其他 cmd 都会给出相同的结果 我得到了 You must either define the environment variable DJANGO SETTI
  • Django 类视图:__init__

    我想要得到
  • Django JavaScript 翻译 gettext 未定义

    我的 JavaScript 函数包含以下内容 document getElementById example innerHTML gettext This is an example 我的 urls py 看起来像 urlpatterns
  • Django 模型选择不会因无效选择而引发错误

    我在 Django 中有一个带有选择字段的对象 class CustomFieldType models Model STRING STRING DATE DATE BOOLEAN BOOLEAN NUMERIC NUMERIC EMAIL
  • django:自动为现有用户创建用户配置文件

    我今天在我的项目中添加了一个新的 UserProfile 模型 class UserProfile models Model user models OneToOneField User def unicode self return u

随机推荐

  • Kotlin 喜欢 Javascript 中的作用域函数(let、also、apply、run)吗?

    是否可以在 Javascript Typescript 中创建类似 Kotlin 的作用域函数 有没有图书馆可以做到这一点 参考 https kotlinlang org docs reference scope functions htm
  • 在 iframe 中访问 TinyMCE 当前输入

    我正在使用 TinyMCE 并且尝试将用户当前输入的内容输出到 TinyMCE 编辑器下方的 div 中 我希望用户看到帖子的渲染效果如何 我正在使用的脚本是这样的 我已将相应的 div 放置在视图中的开始表单中 div div 然而 当我
  • sIFR 还是 FLIR?

    我最近遇到了面部提升术 这是 sIFR 的替代方案 我想知道那些同时拥有 sIFR 和 FLIR 经验的人是否可以介绍一下他们使用 FLIR 的经验 对于那些还没有了解 FLIR 工作原理的人来说 FLIR 的工作原理是使用 JavaScr
  • 不同的交易必须保证选择不同的项目;避免争论

    作为注册新用户的一部分 我们从预编译列表 表 中为它们分配资源 在本例中为 Solr 核心 如果 5 个用户注册 则必须为他们分配 5 个不同的核心 如果用户成功注册 分配即为最终分配 请参阅下面的描述 但在现实世界中 同时注册新用户竞争同
  • 如何在表单提交时打开新窗口

    我有一个提交表单 并希望它在用户提交表单时打开一个新窗口 以便我可以在分析中跟踪它 这是我正在使用的代码
  • QWidgets可以添加到QWindow中吗?

    现在推荐使用QWindow进行OpenGL绘图 是否可以向此窗口添加小部件 如果是这样 怎么办 如果没有 我应该如何使用 Qt5 将小部件添加到 OpenGL 程序中 应用程序通常会使用QWidget or QQuickView对于它的 U
  • Laravel Auth::user() 关系

    我试图通过 Auth user 函数获取我的用户角色关系 我以前曾这样做过 但由于某种原因它不起作用 Auth user gt role 这将返回尝试从非对象获取属性的错误 在我的用户模型中我有这个 public function role
  • Flask-SQLAlchemy 和 Flask-Restless 不获取孙子

    Problem 我正在 Flask Flask SQLAlchemy 和 Flask Restless 上构建一个应用程序 我使用 Restless 生成了一个用于父子孙关系的 API 我的孩子上的 GET 将正确获取孙子 但父母上的 GE
  • 如何减少部署时的 Docker 映像大小?

    所以我刚刚创建了一个非常基本的 Node 应用程序 我想练习将其放入docker容器中并部署到另一台服务器上 我正在使用这里的步骤 https nodejs org en docs guides nodejs docker webapp h
  • 跳过 FlatFileParseException 或 Spring Batch 中的特定异常

    您好 我需要读取 n 个 平面文件 在文件读取期间 如果从读取器收到 FileParseException 则停止当前文件读取并安全退出并处理下一个文件并继续作业执行 目前我有这个 xml 配置 但我不想这样做 因为我没有真正的跳过限制计数
  • 春云|假装 Hytrix |首次调用超时

    我有一项服务使用了 3 个假客户端 每次启动应用程序时 我都会在第一次调用任何假客户端时收到 TimeoutException 在一切稳定之前 我必须至少触发每个假客户端一次 在网上查了一下 问题是 feign 或 hystrix 内部的某
  • 通过隧道颠覆

    对于工作 我在一个封闭的网络中工作 我们设置了一些只能从我们的网络内部访问的 IP 地址 不过 有一个盒子 我们可以通过 SSH 进入并通过隧道到达我们各自的开发者盒子 我知道我可以通过使用以下方式从我们的开发者盒子获得流量 Lssh 的参
  • 找到 3x3 打孔的所有组合

    我参加了一个嘉年华 在每个地点 他们都会用特殊的打孔器标记您的节目 打孔器是一个 3x3 空间的网格 在每个空间中 要么有一根大头针刺破你的纸 要么没有 这让我想知道你可以用这个工具制作多少种不同的图案 我的第一个想法是 2 9 512 但
  • 在 pypy 中调用 python 文件

    我最近搬到了 PyPy 它的速度快得惊人 但是很多 python 库还没有实现 所以我有很多自制的 python 函数 我想在 PyPy 代码中调用它们 这是我的问题 有没有办法在 PyPy 中调用 python 文件或函数 并向其传递一些
  • 带有 Entity Framework 4 指南的多语言数据库

    我们正在创建一个大型电子商务数据库 需要支持多种语言的数据 例如 产品表将需要名称 描述 元标题 元关键字 元描述等的一项或多项翻译 从关系数据库设计的角度来看 有多种方法可以实现这一点 但 Entity Framework 4 添加了一些
  • 在 Android 中使用拨号盘启动应用程序

    我想通过拨号盘启动我的应用程序 我使用以下代码 用于拨号盘启动应用程序 在广播接收器中 public class HiddenReceiver extends BroadcastReceiver Override public void o
  • 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

    我正在尝试将 hibernate orm 映射工具配置到我的 java 类 并使用 PostgreSQL 作为我的数据库 并将密码配置为 password 当我尝试运行该应用程序时 我在控制台日志中遇到错误 如下所示无法创建请求的服务 or
  • 社交网站的数据库设计

    社交网站 例如 Twitter 中会出现哪些表格 到目前为止我有一个用户表 如何跟踪关注者和我关注的人 我应该为关注者和我关注的人维护一个单独的表吗 这些表中会有哪些列 请不要认为这是主观 偏离主题的 由于我是初学者 我想专家可以指导我获得
  • 如何通过 React JS 博览会正确从 Firebase 实时数据库获取随机节点

    跟进问题来自在控制台中记录变量时出现引用错误 https stackoverflow com questions 75509803 referenceerror when the variable is being logged in co
  • django 表单 - 从 clean() 引发特定字段验证错误

    我对依赖于多个字段的表单进行了验证检查 但最好让验证错误向用户具体显示哪些字段导致了问题 而不仅仅是表单顶部的错误消息 该表单有很多字段 因此可以更清楚地具体显示错误所在 作为解决方法 我尝试在每个相关字段中创建相同的验证clean fie