Html Can';t在引导中进行验证

Html Can';t在引导中进行验证,html,twitter-bootstrap,validation,bootstrap-4,bootstrap-5,Html,Twitter Bootstrap,Validation,Bootstrap 4,Bootstrap 5,我正在尝试实现,并在我的页面上粘贴了以下示例: <div class="form-group has-success"> <label class="form-control-label" for="inputSuccess1">Input with success</label> <input type="text" class="form-control form-control-success" id="inputSuccess1">

我正在尝试实现,并在我的页面上粘贴了以下示例:

<div class="form-group has-success">
  <label class="form-control-label" for="inputSuccess1">Input with success</label>
  <input type="text" class="form-control form-control-success" id="inputSuccess1">
  <div class="form-control-feedback">Success! You've done it.</div>
  <small class="form-text text-muted">Example help text that remains unchanged.</small>
</div>

成功地投入
成功!你做到了。
保持不变的示例帮助文本。
我可以看到输入控件的外观发生了变化(现在有点圆了,更美观了)但它仍然没有显示链接到的页面上显示的绿色边框。我链接到的引导程序如下所示

<link rel="stylesheet"
      href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" />

我曾试图用谷歌搜索这个问题,但没有结果。我有

我能怎么办?我缺少什么?

引导程序5(更新2021)

由于bootstrap5不再需要jQuery,因此使用普通JavaScript进行客户端验证很容易。文档包括一个通用代码示例,该示例应适用于所有具有
需要验证的表单

(function () {
    'use strict'

    // Fetch all the forms we want to apply custom Bootstrap validation styles to
    var forms = document.querySelectorAll('.needs-validation')

    // Loop over them and prevent submission
    Array.prototype.slice.call(forms)
        .forEach(function (form) {
        form.addEventListener('submit', function (event) {
            if (!form.checkValidity()) {
            event.preventDefault()
            event.stopPropagation()
            }

            form.classList.add('was-validated')
        }, false)
        })
})()

引导程序4(原始答案)

截至,验证已更改

有效的状态选择器使用
was validated
类,该类将在通过客户端JavaScript验证表单后动态添加。例如

<form class="container was-validated" novalidate="">
    <div class="form-group">
        <label class="form-control-label" for="inputSuccess1">Input with success</label>
        <input type="text" class="form-control" name="i1" id="inputSuccess1">
        <div class="valid-feedback">Success! You've done it.</div>
    </div>
    <div class="form-group">
        <label class="form-control-label" for="inputSuccess2">Input with danger</label>
        <input type="text" class="form-control" name="i2" required="" id="inputSuccess2">
        <div class="invalid-feedback">That didn't work.</div>
    </div>
    <div class="">
        <button type="submit" class="btn btn-secondary">Text</button>
    </div>
</form>

在引导程序4的最终版本中,验证再次发生更改:

事情变得比我想象的要复杂

建议进行自定义样式客户端验证:

  • 验证后,表单会添加一个名为
    was validated
    的类
  • 反馈消息包装在
    中。有效反馈
    中。无效反馈
    对于服务器端验证:

  • 标签上验证了不需要
  • 在输入控件上添加
    是有效的
    是无效的
  • 为反馈消息添加
    。无效反馈
    。有效反馈

  • 我认为表单不需要有needs validation类,这只是在引导文档上,但不做任何事情。说“不需要
    已验证”
    “是不够的。我会说,“如果您希望服务器端验证工作,请不要添加
    已验证
    。。您不能同时使用这两种验证。您可以将客户端与
    已验证
    一起使用,也可以通过从服务器端代码添加
    来使用
    无效
    /
    有效
    。请注意,按照文档中的(滚动到代码块的底部)客户端Javascript需要在提交表单时添加
    已验证的
    类!否则,将不会显示任何内容!您好,我正在浏览,我无法进行客户端验证,直到我注意到(inspector)在文档页面中有一个脚本,它使它工作,我的意思是,除了核心bootstrap.js和jquery.js之外,当我将它添加到我的项目中时,它确实工作了。实际上是这样吗?我真的需要手动添加那块代码吗?因为我告诉你,没有它,它就无法工作,无论是在我的项目中,还是在文档中。我无法发布这里是e脚本,但它在我链接的文档中,就在表单标记之后。我不相信这有多难找到。文档根本没有明确说明您需要一个小事件处理程序来添加类(«您可以选择何时激活它们(通常在尝试提交表单之后)»)。谢谢你的回答!如何在没有替换was验证的情况下结合客户端和服务器端?为什么不提供css文件的链接?@pajarnas——什么css文件?
    
    <form class="container">
        <div class="form-group">
            <label class="form-control-label" for="inputSuccess1">Input with success</label>
            <input type="text" class="form-control is-valid" id="inputSuccess1">
            <div class="valid-feedback">Success! You've done it.</div>
        </div>
    </form>