我正在使用bootstrap 4验证。我如何验证信用卡号码必须是数字和16位数字,并显示适当的信息?
我想显示三个单独的消息。1.如果输入备注,“需要信用卡号”2.如果用户输入“xyz等”,则“仅数字”,3.如果用户输入少于16个数字,则显示消息为“CC必须为16位数字”。我们如何显示多个自定义消息?
请看小提琴。
<html lang="en">
<head>
</head>
<body class="bg-light">
<form class="needs-validation" novalidate>
<div class="col-md-4 mb-3">
<label for="cc-number">Credit card number</label>
<input type="text" class="form-control" id="cc-number" placeholder="" required>
<div class="invalid-feedback">
Credit card number is required
</div>
</div>
<hr class="mb-4">
<button class="btn btn-primary btn-lg btn-block" type="submit">Continue to checkout</button>
</form>
<script>
// Example starter JavaScript for disabling form submissions if there are invalid fields
(function() {
'use strict';
window.addEventListener('load', function() {
// Fetch all the forms we want to apply custom Bootstrap validation styles to
var forms = document.getElementsByClassName('needs-validation');
// Loop over them and prevent submission
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>
2条答案
按热度按时间wz3gfoph1#
因为jQuery没有包含,所以麻烦就大了。在输入中添加一个HTML5信用卡模式,Bootstrap 4将显示相应的
invalid-feedback
消息...https://jsfiddle.net/uq4rb7zy/
*EDIT*Bootstrap不提供单独的验证消息。但是,您可以使用HTML5验证API执行类似操作...
然后在输入上添加
data-value-missing
和data-pattern-mismatch
消息...Demo on Codeply
这将只提供基于ValidityState的不同消息(例如,必需与模式)。它不会匹配模式失败的特定原因(例如,数字与字符)。
mw3dktmi2#
我有这个脚本限制电话号码和DNI(来自西班牙的文档身份)
检查代码,确保它能工作,然后你只需要像这样在输入中调用函数