首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Bootstrap 5在提交时验证,但未显示无效字段提示

Bootstrap 5 提供了一套内置的表单验证功能,它使用 HTML5 的表单验证属性,并通过 JavaScript 来增强用户体验。如果你在提交表单时发现验证已经触发,但是没有显示无效字段的提示,可能是以下几个原因:

基础概念

  • HTML5 表单验证:HTML5 引入了一些新的输入类型和属性,如 requiredpattern 等,这些可以在不编写 JavaScript 代码的情况下进行基本的客户端验证。
  • Bootstrap 5 表单验证样式:Bootstrap 5 提供了一些类,如 .is-valid.is-invalid,用于在验证成功或失败时改变表单控件的样式。
  • JavaScript 验证:Bootstrap 5 使用 JavaScript 来处理表单提交事件,并在验证失败时显示错误消息。

可能的原因及解决方法

  1. 缺少必要的属性: 确保你的输入字段包含了必要的验证属性,如 required
  2. 缺少必要的属性: 确保你的输入字段包含了必要的验证属性,如 required
  3. JavaScript 未正确加载: 确保 Bootstrap 和 jQuery(如果使用)已经正确加载。
  4. JavaScript 未正确加载: 确保 Bootstrap 和 jQuery(如果使用)已经正确加载。
  5. 未初始化验证: 如果你有自定义的 JavaScript 代码,确保调用了 Bootstrap 的表单验证初始化方法。
  6. 未初始化验证: 如果你有自定义的 JavaScript 代码,确保调用了 Bootstrap 的表单验证初始化方法。
  7. CSS 样式问题: 确保你的页面包含了 Bootstrap 的 CSS 文件,并且没有覆盖 .is-invalid 类的样式。
  8. CSS 样式问题: 确保你的页面包含了 Bootstrap 的 CSS 文件,并且没有覆盖 .is-invalid 类的样式。
  9. 自定义错误消息: 如果你需要自定义错误消息,可以使用 data-bs-error 属性。
  10. 自定义错误消息: 如果你需要自定义错误消息,可以使用 data-bs-error 属性。

示例代码

以下是一个完整的示例,展示了如何使用 Bootstrap 5 进行表单验证:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Bootstrap Form Validation</title>
  <link href="https://stackpath.bootstrapcdn.com/bootstrap/5.1.3/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
  <div class="container mt-5">
    <form class="needs-validation" novalidate>
      <div class="mb-3">
        <label for="username" class="form-label">Username</label>
        <input type="text" class="form-control" id="username" required>
        <div class="invalid-feedback">
          Please provide a valid username.
        </div>
      </div>
      <button type="submit" class="btn btn-primary">Submit form</button>
    </form>
  </div>

  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/5.1.3/js/bootstrap.bundle.min.js"></script>
  <script>
    (function () {
      'use strict';
      window.addEventListener('load', function () {
        var forms = document.getElementsByClassName('needs-validation');
        var validation = Array.prototype.filter.call(forms, function (form) {
          form.addEventListener('submit', function (event) {
            if (form.checkValidity() === false) {
              event.preventDefault();
              event.stopPropagation();
            }
            form.classList.add('was-validated');
          }, false);
        });
      }, false);
    })();
  </script>
</body>
</html>

确保你的代码遵循以上步骤,通常可以解决验证触发但未显示提示的问题。如果问题仍然存在,可能需要检查浏览器的控制台是否有相关的错误信息,或者进一步调试 JavaScript 代码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【愚公系列】《AIGC辅助软件开发》021-AI 辅助测试与调试:更多实践

- **依赖性测试:** 验证在城市未选择时,行政区字段是否禁用。5. **楼盘字段** - **功能测试:** 验证楼盘输入框能正常输入,字符长度限制为50。...**行政区字段** - **动态更新:** 验证选择城市后,行政区下拉列表是否自动更新并展示相关行政区。 - **禁用处理:** 确保在未选择城市时,行政区字段被禁用。5....- **无匹配数据处理:** 验证当数据库中无匹配楼盘时,展示“暂无数据”提示。 - **价格显示:** 确保选择楼盘后,若有价格信息,楼盘名称旁能够正确显示价格。6....- 无匹配数据时显示“暂无数据”提示。 - 选择楼盘后,若有价格信息,则显示楼盘价格。5. **楼栋字段**: - 选择楼盘后,动态更新楼栋下拉列表。 - 展示与选择楼盘相关的楼栋。6....- 验证楼盘选择后价格信息是否正确显示。4. **用户体验** - 验证输入框的字符限制(如楼盘字段50字符限制)。 - 确保无匹配数据时正确显示提示信息(“暂无数据”)。

11910

HTML 表单和约束验证的完整指南

在第一次提交后或更改值时显示验证错误将提供更好的体验。...同样,无效表单可能会突出显示无效字段。 现场验证 各个字段具有以下约束验证属性: willValidate:true如果元素是约束验证的候选元素,则返回。...CSS 可以在表单提交时显示或隐藏验证消息: .help { display: none; } .invalid .help { display: block; } .invalid label, .invalid...可以设置可选的第二个参数: true 在用户与其交互时验证每个字段 false (默认)在第一次提交后验证所有字段(在此之后进行字段级验证) // validate contact form const...当它这样做时,分配给该字段的任何自定义验证功能将依次执行。必须全部返回true才能使该字段有效。 无效字段具有invalid应用于该字段的父元素的类,该类使用 CSS 显示红色帮助消息。

8.4K40
  • AngularDart4.0 指南- 表单 顶

    这个表格中的三个字段中的两个是必需的。 遵循材料设计准则,必填字段带有星号(*)。 如果您删除了英雄名称,表单将以吸引人注意的风格显示验证错误: ?...样式控件 有效的控制属性是最有趣的,因为当一个控制值无效时,你想发送一个强烈的视觉信号。 要创建这样的视觉反馈,您将使用Bootstrap自定义表单类 is-valid和is-invalid。...如果您忽略原始状态,则只有在该值有效时才会隐藏该消息。 如果您使用新(空白)英雄或无效英雄到达此组件,则在您执行任何操作之前,您将立即看到错误消息。...有些开发人员希望仅在用户进行无效更改时显示消息。 当控件是“原始的”时隐藏消息实现了这个目标。 当您向表单添加一个“清除”按钮时,您会看到此选项的重要性。...文本字段变为空白,如果您更改了power,它将恢复为默认值。 用ngSubmit提交表单 用户应该能够在填写表单后提交这个表单。

    17.5K30

    Form和ModelForm组件

    Form介绍  我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。...        -->用户提交校验功能 • 当用户输错之后 再次输入 上次的内容还保留在input框   -->保留上次输入内容 Form那些事儿 常用字段与插件 创建Form类时,主要涉及到 【字段】...在使用选择标签时,需要注意choices的选项可以配置从数据库中获取,但是由于是静态字段 获取的值无法实时更新,需要重写构造方法从而实现choice实时更新。...在这种情况下,在form表单中定义字段将是冗余的,因为我们已经在模型中定义了那些字段。...,如果是__all__,就是表示列出所有的字段 exclude = None # 排除的字段 labels = None # 提示信息 help_texts = None # 帮助提示信息 widgets

    5K10

    12.Django基础十之Form和ModelForm组件

    一 Form介绍   我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。   ...再次输入 上次的内容还保留在input框 -->保留上次输入内容 二 Form常用字段与插件   创建Form类时,主要涉及到 【字段】 和 【插件】,字段用于对用户请求数据的验证,插件用于自动生成HTML...    在使用选择标签时,需要注意choices的选项可以配置从数据库中获取,但是由于是静态字段 获取的值无法实时更新,需要重写构造方法从而实现choice实时更新。     ...,比如注册时,咱们需要验证密码和确认密码两个字段数据,但是后端数据库就保存一个数据就行,那么验证是两个,数据保存是一个,就可以再接着写form字段 r_password = forms.CharField...表单的验证在调用is_valid() 或访问errors 属性时隐式调用。

    3.4K20

    Django form表单

    1.生成HTML代码   2.验证   3.把验证的错误显示在页面上并保留原始数据 form表单的基本使用: form_obj生成HTML代码的方式   1.form_obj.as_p...%} {{ field.label}} {{ field}} {% endfor %} Form那些事儿 常用字段与插件 创建Form类时,主要涉及到 【字段】 和 【插件】,字段用于对用户请求数据的验证...initial=[1, 3], 7 widget=forms.widgets.CheckboxSelectMultiple() 8 ) 关于choice的注意事项: 在使用选择标签时...%f', '%H:%M'] FilePathField(ChoiceField) 文件选项,目录下文件显示在页面中 path, 文件夹路径...,如果是__all__,就是表示列出所有的字段 exclude = None # 排除的字段 labels = None # 提示信息 help_texts = None # 帮助提示信息 widgets

    4.3K40

    Web前端开发初级中级实操

    1、【说明】 现接到某电商网站注册、登录页面开发的项目,在注册页面需要做前端验证。具体要求:用户名长度和格式验证、邮箱格式验证、密码长度和格式验证、密码与重复密码一致性验证。...,显示时为菜单,在移动端显示为折叠导航栏; 二是【网站介绍】,背景从上到下由黑到白渐变,鼠标悬停时“欢迎来到Web技术社区”标题字号变大为根元素大小的2.25倍; 三是【技术介绍】,采用栅格系统布局,以图片和标题的形式展示四项...【技术】,屏幕宽度≥992px时显示四列,屏幕宽度时显示两列。...【效果图】 (1)index.html 在 PC 端效果 2)导航栏 “Bootstrap” 项使用下拉插件,点击显示下拉菜单,内容为 “布局”、“组件”、“插件” (3)index.html 在移动端效果如图...1、问卷调查模板 paper.blade.php (1)在问卷调查模板文件paper.blade.php中,使用for循环显示问题,显示需要数据由SurveyController类中paper()返回时传递

    7.3K20

    Django之Form组件

    一 Form介绍   我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。   ...与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。   ...,我就用其中一个错误提示就可以了,再错了再提示,并且不是给你生成ul标签了,单纯的是错误文本 {{ form_obj.errors }} #这是全局的所有错误,找对应字段的错误,就要...        -->用户提交校验功能       当用户输错之后 再次输入 上次的内容还保留在input框   -->保留上次输入内容 二 Form常用字段与插件   创建Form类时,主要涉及到 【...    在使用选择标签时,需要注意choices的选项可以配置从数据库中获取,但是由于是静态字段 获取的值无法实时更新,需要重写构造方法从而实现choice实时更新。

    1.1K20

    典藏版Web功能测试用例库

    包含不允许操作的,不能批量操作,全部都回滚 ​ 全选,只处理查询出来的这部分数据 数据检查 ​ 数据流 ​ 数据缺失,数据覆盖面尽可能广一点 ​ 数据重置的问题 ​ 某些模块的数据未重置,其他模块在操作时...输入与已存在重复的数据,如代码、名称 修改按钮 ​ 修改成功的提示 ​ 数据写入表中 ​ xgsj、xgry、yxbz等字段 ​ loading ​ 修改后查看 ​ 不修改,直接保存 ​ 多次修改...取消、返回、“X”按钮 ​ 直接再次打开,内容不应保留 ​ 修改后再次打开,应更新为最新信息 登录页面 ​ 界面显示 ​ 用户名、密码、验证码文本框 ​ 验证码的格式 ​ 输入密码显示为***...​ 使用正确的用户名,密码和验证码登录成功 ​ 退出 ​ 确认是否退出提示 ​ 退出到登录页面 ​ 先校验验证码,再校验用户名、密码 ​ 输入错误的验证码、用户名、密码,分别提示 ​...验证码 ​ 输入错误后,验证码自动刷新 ​ 也可以手动点击刷新验证码 ​ 忘记密码 ​ 连续输入密码错误5次,账号锁定 ​ 锁定后,其他账号可以登录 ​ 到了锁定时间,被锁账号可以登录

    3.6K21

    Django之Form表单

    Django From简介 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。...与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示显示对应的错误信息.。...        -->用户提交校验功能 • 当用户输错之后 再次输入 上次的内容还保留在input框   -->保留上次输入内容 Django From常用字段 initial class LoginForm...initial=None, 初始值 help_text='', 帮助信息(在标签旁边显示) error_messages...%f', '%H:%M'] FilePathField(ChoiceField) 文件选项,目录下文件显示在页面中 path, 文件夹路径

    2.8K60

    通过ChatGPT生成测试用例

    TC3: 输入含有非法字符的账号,验证是否提示错误。 TC4: 输入已存在的账号,验证是否提示重复账户错误。 TC5: 输入合法账号,验证是否接受。...密码验证 TC6: 输入少于5个字符的密码,验证是否提示错误。 TC7: 输入多于30个字符的密码,验证是否提示错误。 TC8: 输入不包含大小写英文字符、数字和特殊字符的密码,验证是否提示错误。...表单提交 TC16: 使用所有合法输入提交表单,验证是否显示“注册成功!”提示。 安全测试用例 XSS攻击防御 TC17: 在所有输入字段中尝试输入JavaScript代码,验证代码是否被执行。...SQL注入防御 TC19: 在所有输入字段中尝试输入SQL注入攻击代码,验证系统是否安全处理,不执行非法SQL代码。 性能测试用例 TC20: 在高流量下提交表单,验证系统是否能稳定运行并及时响应。...说明 Playwright测试: ·TC22:通过在浏览器中自动化输入账号和密码,并提交表单,检查是否能够成功注册。 ·每个步骤通过断言检查页面是否正确显示“注册成功”的消息。

    14710

    【Java 进阶篇】深入了解 Bootstrap 插件

    Bootstrap 模态框(Modal) 模态框是一个常见的插件,用于在网页上显示对话框、提示框或表单。模态框通常用于显示额外的信息或执行特定的操作,用户需要在模态框上进行交互。...Bootstrap 表单验证 表单验证是一个重要的前端功能,用于确保用户在提交表单时提供有效的数据。Bootstrap 提供了一些内置的表单验证类,可以帮助您轻松实现表单验证。...这个基本的表单验证结构包含了文本输入字段和必填字段。如果用户尝试提交空值,浏览器将显示验证错误消息。 自定义表单验证 表单验证可以根据不同的需求进行自定义。...如果用户尝试提交不符合要求的数据,将显示自定义的错误消息。 Bootstrap 插件的 JavaScript 部分 Bootstrap 插件通常需要 JavaScript 来实现其交互功能。...总结 在本博客中,我们深入了解了 Bootstrap 插件,涵盖了轮播、模态框、下拉菜单、标签页和表单验证等常见插件。我们了解了它们的基本结构以及如何自定义它们以满足项目需求。

    27730

    Python Flask-web表单

    这个定义表单中的一组字段,每个字段都用对象表示。字段对象可附属一个或多个验证函数。验证函数用来验证用户提交的输入值是否符合要求。 #!.../usr/bin/env python #简单的web表单,包含一个文本字段和一个提交按钮 from flask_wtf import Form from wtforms import StringField...表单提交按钮 WTForms验证函数 验证函数 说明 Email 验证电子邮件地址 EqualTo 比较两个字段的值,常用于要求输入两次密码进行确认的情况 IPAddress 验证IPv4网络地址...Length 验证输入字符串的长度 NumberRange 验证输入的值在数字范围内 Optional 无输入值时跳过其他验证函数 Required 确保字段中有数据 Regexp 使用正则表达式验证输入值...URL 验证URL AnyOf 确保输入值在可选值列表中 NoneOf 确保输入值不在可选值列表中 四、把表单渲染成HTML 表单字段是可用的,在模板中调用后会渲染成HTML。

    3.2K90

    软件测试——系统测试总结报告模板

    计划内测试版本,B1—B4测试进度依照项目计划时间准时完成测试并提交报告,其中B4版本推迟一天发布版本,测试通过增加一个人日,准时完成测试。B5版本推迟发布2天,测试增加2个人日,准时完成测试。...最近提交缺陷图 由上图可以看出,在统计的十个周bug提交和解决状况比较理想,当前提交的bug都能够在很快的时间得到修复,并且随着版本的稳定解决bug数量为全部解决新增bug数量逐渐降为0,整个过程属于正常的软件版本迭代过程...系统在实现用户管理下的权限管理功能时,存在重大的缺陷,权限控制不严密,权限设计有遗漏。...页面设计没有完成需求规定的输入限制验证,导致用户可以输入错误的或者无效的数据,这些数据有可能会引起功能性错误。 4....系统中很多地方使用多语言,由于多语言编码不统一导致页面设计和数据设计使用语言编码不一致,由此引起的多语言数据无法显示的缺陷。 5.

    1.4K20

    Django学习笔记之Django Form表单

    Form介绍  我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。...与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。...        -->用户提交校验功能 • 当用户输错之后 再次输入 上次的内容还保留在input框   -->保留上次输入内容 Form那些事儿 常用字段与插件 创建Form类时,主要涉及到 【字段】...和 【插件】,字段用于对用户请求数据的验证,插件用于自动生成HTML; initial 初始值,input框里面的初始值。...", initial=[1, 3], widget=forms.widgets.CheckboxSelectMultiple ) 关于choice的注意事项: 在使用选择标签时

    1.7K40

    任意用户密码重置(四):重置凭证未校验

    在逻辑漏洞中,任意用户密码重置最为常见,可能出现在新用户注册页面,也可能是用户登录后重置密码的页面,或者用户忘记密码时的密码找回页面,其中,密码找回功能是重灾区。...在日常对密码找回功能的攻击中,我的大部份精力聚焦在是否可以暴破验证码、是否可以劫持接收验证码的手机号或邮箱、是否可以混淆重置其他账号、是否可以绕过验证步骤、甚至是猜测重置 token 的生成规律等攻击方式上...输入新密码 PenTest1024 后提交,网站提示“修改密码成功”。尝试用 travel24@omegatravel.net/PenTest1024 登录,成功进入系统: ? 如何获取其他账号?...由于没用图片验证码,导致可枚举有效用户名,发现三类情况。一是,用户名存在且设置过密保问题,应答类似: ? 二是,用户名存在但未设置密保问题,应答类似: ? 三是,无效用户名,则应答类似: ?...用常见用户名和中国人姓名拼音作为字典进行枚举,在所有结果中过滤显示含有关键字 的应答,得到的所有 UserName 参数值即为未设置密保问题的用户名。

    2.6K80
    领券