WTForms TextAreaField DataRequired 不会在 Bootstrap 模式中引发验证错误

2023-12-01

我在引导模式中有一个非常小的表单,仅包含两个字段:一个 TextAreaField 和一个 Submit 按钮。我的 TextAreField 是所需数据.

最重要的是,该字段使用 CKEditor(类似于 quillsJS)来使文本区域所见即所得。

问题是,即使没有输入数据,表单也会提交,并重新加载父页面。

我非常想知道如何防止表单提交并在未输入数据时引发验证错误。

我想获得 WTForm 验证,而不是浏览器的验证(无论如何对于这种情况都不起作用)。

我还应该提到,如果重要的话,我的模式是一个部分文件(jinja)。

我的模式触发点是这样的,住在perfume-cursor.html

<a href="{{ url_for('perfumes.edit_perfume', perfume_id=perfume._id) }}" class="btn btn-primary btn-sm mt-2">Edit</a>

这是我的模态(在部分文件中perfume-modals.html)

<div class="modal fade" id="reviewPerfumeModal" tabindex="-1" role="dialog" aria-labelledby="reviewPerfumeModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="deleteUserModal">Please Leave a Review</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <form method=POST action="{{ url_for('reviews.review_perfume', perfume_id=perfume._id) }}" id="form-review">
                    <fieldset class="form-group">
                        <div class="form-group">
                            {{ form.review(class="form-control form-control-md", placeholder="Review", id="description") }}
                        </div>
                    </fieldset>
                    <div class="modal-footer">
                        <div class="form-group">
                            {{ form.submit(class="btn btn-primary") }}
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>

The id="description"顺便说一句,CKEditor 用来将文本区域字段呈现为所见即所得编辑器。

我真的非常感谢任何帮助!

提前致谢!

Update:

如果它有帮助的话,这是我的表单类,尽管我很确定问题与模式相关,而不是 WTF 相关:

class AddReviewForm(FlaskForm):
    review = TextAreaField("Review", validators=[DataRequired()])
    submit = SubmitField("Post Review")

None

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

WTForms TextAreaField DataRequired 不会在 Bootstrap 模式中引发验证错误 的相关文章

随机推荐

  • 从tinyMCE中的插入符位置删除x个字符

    我正在开发一个项目 用户可以输入特殊字符 然后按 Tab 键自动完成值 这部分大部分工作正常 但我希望能够从插入符位置之前删除 x 个字符 例如 如果 是插入符号 我有以下文本 chr 我希望能够删除光标位置之前的 3 个字符 例如我最终会
  • 使用 flags() 创建一个 QTableWidgetItem

    我不明白 QTableWidgetItem Chapter 中的 Qt5 文档 我无法获得正确的参数来将新创建的表格单元设置为可编辑 我有这段代码 for i item in enumerate event desc start 0 pri
  • 如何消除结构体数据成员之间的填充字节

    我有一个带有 消息 的二进制文件 我试图使用结构将字节放入正确的变量中 在我的示例中 我使用了两种类型的消息 Tmessage 和 Amessage include
  • 具有 X 和 Y 值对的数据

    是否可以在中使用 X 和 Y 对dataChart js 中用于创建条形图的选项 data 08 09 2016 12 09 09 2016 19 形式为 X Y 我在文档中没有找到任何关于它的参考 我越接近 发现这个折线图示例 data
  • 如何使用 Selenium 和 Java 通过 CSS 选择器以记分牌格式 Web 元素打印击球手的得分

    我想使用 CSS 选择器在 selenium 中打印板球比赛期间所有击球手的得分 所有行都有相同的类名 并且运行位于第三行 因此我使用 CSS 选择器仅选择第三行 但我无法打印运行 这是我的代码 package SomeBasicAutom
  • 短名称仅适用于 C 盘

    我正在尝试在 Windows 上查找路径的短名称 由于某种原因 以下命令仅在 C 驱动器上运行时才有效 for d I in do echo sI 我想要我的 D 驱动器上的文件夹的简称 检查其他驱动器是否启用了 8 3 表示法 http
  • Do...循环直到具有多个条件

    我有一个简单的问题 我在网上没有找到具体信息 我想表演一个Do Loop Until循环 但我想在末尾插入多个条件 我想要做 Do my code Loop Until Condition 1 And Condition 2 And And
  • 更改 Sweave 中 ggplot2 图的大小,而不使文本/数字过大

    我找到了这个question关于更改 Sweave 中 ggplot2 图的大小 我添加了Sweaveopts width 3 height 3 它确实缩小了绘图的大小 但并没有缩小文本 所以最后 轴上的所有数字都会重叠 有没有办法在 Sw
  • 插入的图像未显示在 Google 电子表格中

    当我尝试使用下面的代码在 Google 电子表格中插入图像时 它的工作正常 var activeSheet SpreadsheetApp getActiveSpreadsheet getActiveSheet var image activ
  • 什么是间接扩展? ${!var*} 是什么意思?

    我正在阅读 Bash 初学者指南 它说 如果第一个字符为PARAMETER是一个感叹号 Bash 使用由其余部分形成的变量值PARAMETER作为变量的名称 然后扩展该变量 并在其余替换中使用该值 而不是PARAMETER本身 这称为间接扩
  • 如何解决android studio中无法找到adb(IllegalArgumentException)的问题? [复制]

    这个问题在这里已经有答案了 从 2 2 更新到 2 3 后 我无法使用 android studio 运行我的项目 当我尝试运行我的项目时 我总是收到 无法找到 adb 之类的错误 给我一个正确的解决方案来解决这个问题 我尝试了很多方法但无
  • 两个接口有相同的方法

    Interface A int Add int a int b Interface B int Add int a int b Class D A B int Add int a int b return a b 代码工作正常并且没有产生任
  • 角度 8 中的延迟加载模块

    我有一个仪表板应用程序 我在其中延迟加载小部件 不绑定到路线 我是通过定义一个对象来做到这一点的 name string loadChildren string 然后在我的app module我会做provideRoutes 这将导致 cl
  • 如何将非常大的 CSV 数据集加载到 d3 中

    正如标题所示 我有一个 CSV 文件 250mb 和 700k 行 我无法将其加载到 d3 中 我尝试按照通常加载 csv 文件的方式加载它 但没有成功 目前 它不会出错 并且我在控制台中得到一个空数据数组 不确定文件是否太大或者我加载不正
  • Django,独特的字段生成

    我有一个促销模型 其中包含促销代码和购买模型类的外键 这是模型 class Promotion models Model purchase models ForeignKey Purchase promotion code models C
  • Python sys.getrefcount() 显示意外的第四个引用

    我正在寻找有关为什么我有意外引用计数的解释 是的 我已经知道了sys getrefcount 将增加预期计数1 这不是下面发生的事情 我期待这个功能test a 以显示3 not 4 第四个参考来自哪里 In 2 import sys In
  • 如何使用 Symfony Forms 将事件侦听器添加到动态添加的字段

    我正在使用事件侦听器来动态修改表单 我想向动态添加的字段添加另一个事件侦听器 我不知道如何实现这一点 public function buildForm FormBuilderInterface builder array options
  • 通过 subprocess.Popen 在 python 中执行 R 脚本

    当我在 R 中执行脚本时 它是 R vanilla args test matrix csv lt hierarchical clustering R gt out txt 在Python中 如果我使用 process subprocess
  • Excel 与 SSAS 的连接 - 传输层遇到错误

    我在 SQL 2012 中有一个 SSAS 多维数据集 可以使用 Windows 用户凭据从 Excel 2010 连接到该数据集 而不会出现问题 但是 每当我重新启动托管多维数据集的服务器并尝试刷新 Excel 中的数据透视表 在客户端计
  • WTForms TextAreaField DataRequired 不会在 Bootstrap 模式中引发验证错误

    我在引导模式中有一个非常小的表单 仅包含两个字段 一个 TextAreaField 和一个 Submit 按钮 我的 TextAreField 是所需数据 最重要的是 该字段使用 CKEditor 类似于 quillsJS 来使文本区域所见