django - Django Form 没有引发 ValidationError
问题描述
我有一个 Django 表单,我尝试根据我比较的两个值进行验证。
def clean(self):
cleaned_data = super().clean()
if cleaned_data['preferred_communication'] == 'email' and cleaned_data['email']:
pass
else:
print('error error error')
raise ValidationError(_('Please type in your email address, if you want to be notified.'))
我在命令行中看到了打印输出,所以逻辑有效。仍然 form.is_valid 似乎是 True。
解决方案
在这种特殊情况下,form.is_valid() 有效,但视图中没有异常。
if form.is_valid() 中总是有一个 ELSE。
推荐阅读
- android - 保存文件,然后通过邮件发送
- c# - 使用“WlanScan”刷新 WiFi 网络列表(将 api 语法从 c# 转换为 vba ... 或解决方法?)
- ignite - 如何节流/限制缓存存储读取线程?
- regression - 如何修复 MCMChregress 函数中似乎源于 R 参数的错误
- c++ - 为什么在 C++ 中对字符串进行索引会给出隐式转换的警告?
- sql - 按聚合函数 SQL 排序
- haskell - 将 Haskell 与 VS 代码结合使用
- ios - RxSwift如何有条件地控制按钮何时发出点击?
- php - 为复杂函数中的 ssp 类添加 GROUP BY 支持
- angular - 带有 Angular 前端的 GitHub 单点登录的 Spring Boot OAuth2 CORS 问题