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>