后浪云Bootstrap5教程:Bootstrap5 表单验证
Bootstrap5 表单验证
我们可以使用不同的验证类来设置表单的验证功能。
.was-validated 或 .needs-validation 添加到 <form> 元素中,input 输入字段将具有绿色(有效)或红色(无效)边框效果,用于说明表单是否需要输入内容。
.valid-feedback 或 .invalid-feedback 类用来告诉用户缺少什么信息,或者在提交表单之前需要完成什么。
实例
使用 .was-validated 类显示表单在提交之前需要填写的内容:
<
form
action
=
"
"
class
=
"
was-validated
"
>
<
div
class
=
"
form-group
"
>
<
label
for
=
"
uname
"
>
Username:
</
label
>
<
input
type
=
"
text
"
class
=
"
form-control
"
id
=
"
uname
"
placeholder
=
"
Enter username
"
name
=
"
uname
"
required
>
<
div
class
=
"
valid-feedback
"
>
验证成功!
</
div
>
<
div
class
=
"
invalid-feedback
"
>
请输入用户名!
</
div
>
</
div
>
<
div
class
=
"
form-group
"
>
<
label
for
=
"
pwd
"
>
Password:
</
label
>
<
input
type
=
"
password
"
class
=
"
form-control
"
id
=
"
pwd
"
placeholder
=
"
Enter password
"
name
=
"
pswd
"
required
>
<
div
class
=
"
valid-feedback
"
>
验证成功!
</
div
>
<
div
class
=
"
invalid-feedback
"
>
请输入密码!
</
div
>
</
div
>
<
div
class
=
"
form-group form-check
"
>
<
label
class
=
"
form-check-label
"
>
<
input
class
=
"
form-check-input
"
type
=
"
checkbox
"
name
=
"
remember
"
required
>
同意协议
<
div
class
=
"
valid-feedback
"
>
验证成功!
</
div
>
<
div
class
=
"
invalid-feedback
"
>
同意协议才能提交。
</
div
>
</
label
>
</
div
>
<
button
type
=
"
submit
"
class
=
"
btn btn-primary
"
>
提交
</
button
>
</
form
>
尝试一下 »
实例
使用 .needs-validation,它将在表单提交之后验证缺少的内容。这里需要添加一些 JavaScript 代码才能使代码正常工作:
<
form
action
=
"
"
class
=
"
needs-validation
"
novalidate
>
<
div
class
=
"
form-group
"
>
<
label
for
=
"
uname
"
>
Username:
</
label
>
<
input
type
=
"
text
"
class
=
"
form-control
"
id
=
"
uname
"
placeholder
=
"
Enter username
"
name
=
"
uname
"
required
>
<
div
class
=
"
valid-feedback
"
>
验证成功!
</
div
>
<
div
class
=
"
invalid-feedback
"
>
请输入用户名!
</
div
>
</
div
>
<
div
class
=
"
form-group
"
>
<
label
for
=
"
pwd
"
>
Password:
</
label
>
<
input
type
=
"
password
"
class
=
"
form-control
"
id
=
"
pwd
"
placeholder
=
"
Enter password
"
name
=
"
pswd
"
required
>
<
div
class
=
"
valid-feedback
"
>
验证成功!
</
div
>
<
div
class
=
"
invalid-feedback
"
>
请输入密码!
</
div
>
</
div
>
<
div
class
=
"
form-group form-check
"
>
<
label
class
=
"
form-check-label
"
>
<
input
class
=
"
form-check-input
"
type
=
"
checkbox
"
name
=
"
remember
"
required
>
同意协议
<
div
class
=
"
valid-feedback
"
>
验证成功!
</
div
>
<
div
class
=
"
invalid-feedback
"
>
同意协议才能提交。
</
div
>
</
label
>
</
div
>
<
button
type
=
"
submit
"
class
=
"
btn btn-primary
"
>
提交
</
button
>
</
form
>
<
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
>
尝试一下 »