css - Bootstrap 4 表单输入,带有用于验证的图标

标签 css twitter-bootstrap validation bootstrap-4 font-awesome

在 Bootstrap 3 中,每个验证状态都有可选的图标。使用 has-feedbackhas-successhas-danger 等,图标将出现在输入的右侧...类。

enter image description here 如何使用 valid-feedbackinvalid-feedback 类在 Bootstrap 4 中获得相同的功能?

最佳答案

Bootstrap 4 不包含图标(glyphicons 消失了),现在只有 2 种验证状态(is-validis-invalid) 控制 valid-feedbackinvalid-feedback 文本的显示。

通过一些额外的 CSS,您可以在输入框内(右侧)放置一个图标,并使用 is-validis-invalid 控制其显示在 form-control 输入上。为图标使用像 fontawesome 这样的字体库。我创建了一个新的 feedback-icon 类,您可以将其添加到 valid/invalid-feedback 中。

.valid-feedback.feedback-icon,
.invalid-feedback.feedback-icon {
    position: absolute;
    width: auto;
    bottom: 10px;
    right: 10px;
    margin-top: 0;
}

HTML

<div class="form-group position-relative">
     <label for="input2">Valid with icon</label>
     <input type="text" class="form-control is-valid" id="input2">
     <div class="valid-feedback feedback-icon">
          <i class="fa fa-check"></i>
     </div>
     <div class="invalid-feedback feedback-icon">
          <i class="fa fa-times"></i>
     </div>
</div>

Demo of input validation icons
Demo with working validation

.valid-feedback.feedback-icon,
.invalid-feedback.feedback-icon {
    position: absolute;
    width: auto;
    bottom: 10px;
    right: 10px;
    margin-top: 0;
}
<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
  <div class="form-group position-relative">
     <label for="input2">Valid with icon</label>
     <input type="text" class="form-control is-valid" id="input2">
     <div class="valid-feedback feedback-icon">
          <i class="fa fa-check"></i>
     </div>
     <div class="invalid-feedback feedback-icon">
          <i class="fa fa-times"></i>
     </div>
   </div>
</div>

请注意,包含 form-groupposition:relative 使用了 position-relative 类。

关于css - Bootstrap 4 表单输入,带有用于验证的图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49323175/

相关文章:

javascript - 如何单独显示/隐藏具有相同类名的div?

windows - 适用于 Windows 的命令行 XML 验证器

java - Struts 1.2 intRange 验证失败

php - Codeigniter form_validation 总是返回 false

javascript - 无法调整水平滚动 div 中的表列的大小

html - CSS - 如何在此页面上正确对齐星号

html - 子菜单悬停在 Internet Explorer 上不起作用

jquery - Bootstrap 模态表单适用于本地计算机,但不能实时运行

jquery - Twitter Bootstrap 模式应在每次打开时创建新实例

html - 导航栏不会跟随用户