Bootstrap 和 Select2 表单验证

Lui*_*uiz 4 html javascript css jquery-select2 bootstrap-4

解释

我正在尝试将Bootstrap 的表单验证Select2 的选择框一起使用,但由于某种原因,它无法正常工作。它确实显示了此反馈文本,但不显示绿色/红色边框颜色,如下面的代码所示。

代码

你也可以在这个 JSFiddle 中看到它。

$(".select").select2({
  minimumResultsForSearch: Infinity
});
Run Code Online (Sandbox Code Playgroud)
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" rel="stylesheet" />
<link href="https://rawgit.com/select2/select2/master/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script>
<script src="https://rawgit.com/select2/select2/master/dist/js/select2.js"></script>
<form class="was-validated">

  <div class="form-group">
    <select class="custom-select" required>
      <option value="">Open this select menu</option>
      <option value="1">One</option>
      <option value="2">Two</option>
      <option value="3">Three</option>
    </select>
    <div class="invalid-feedback">Example invalid custom select feedback</div>
  </div>

  <div class="form-group">
    <select class="select custom-select" required>
      <option value="">Open this select menu</option>
      <option value="1">One</option>
      <option value="2">Two</option>
      <option value="3">Three</option>
    </select>
    <div class="invalid-feedback">Example invalid custom select feedback</div>
  </div>

</form>
Run Code Online (Sandbox Code Playgroud)

提前致谢,
路易斯。

Hir*_*iya 7

您需要申请css覆盖并select2生成动态选择以便

.was-validated .custom-select:invalid + .select2 .select2-selection{
    border-color: #dc3545!important;
}
.was-validated .custom-select:valid + .select2 .select2-selection{
    border-color: #28a745!important;
}
*:focus{
  outline:0px;
}
Run Code Online (Sandbox Code Playgroud)

.was-validated .custom-select:invalid + .select2 .select2-selection{
    border-color: #dc3545!important;
}
.was-validated .custom-select:valid + .select2 .select2-selection{
    border-color: #28a745!important;
}
*:focus{
  outline:0px;
}
Run Code Online (Sandbox Code Playgroud)
$(".select").select2({
  minimumResultsForSearch: Infinity
});
Run Code Online (Sandbox Code Playgroud)
.was-validated .custom-select:invalid + .select2 .select2-selection{
    border-color: #dc3545!important;
}
.was-validated .custom-select:valid + .select2 .select2-selection{
    border-color: #28a745!important;
}
*:focus{
  outline:0px;
}
Run Code Online (Sandbox Code Playgroud)