HTML
xxxxxxxxxx
1
<div class="row mb-2">
2
<label for="name" class="col-lg-3 col-form-label">
3
Name
4
</label>
5
<div class="col-lg-9">
6
<div class="d-flex validity-bridge">
7
<div class="w-100">
8
<input type="text" name="name" value="" id="name" class="form-control is-invalid">
9
</div>
10
<span class="text-danger ms-1">*</span>
11
<div class="invalid-feedback w-25 mt-2">Must be filled in</div>
12
</div>
13
</div>
14
</div>
15
16
<div class="row mb-2">
17
<label for="operatingSystem" class="col-lg-3 col-form-label">
18
Operating System
19
</label>
20
<div class="col-lg-9">
21
<div class="d-flex validity-bridge">
22
<div class="w-100">
23
<select name="operatingSystem" id="operatingSystem" class="form-control is-invalid" data-mdb-select-init="">
24
<option value=""></option>
25
<option value="0">WINDOWS</option>
26
<option value="1">UNIX</option>
27
<option value="2">LINUX</option>
28
<option value="3">z/OS</option>
29
</select>
30
31
32
</div>
33
<span class="text-danger ms-1">*</span>
34
<div class="invalid-feedback w-25 mt-2">Must be filled in</div>
35
</div>
36
</div>
37
</div>
CSS
xxxxxxxxxx
1
.validity-bridge:has(.is-invalid)>.invalid-feedback {
2
display: block;
3
position: relative;
4
}
JS
xxxxxxxxxx
1
document.querySelectorAll("div.select-wrapper").forEach((wrapper) => {
2
const originalSelect = wrapper.querySelector("select.select-initialized");
3
const newSelect = wrapper.querySelector("input.select-input");
4
if(originalSelect && newSelect && originalSelect.classList.contains("is-invalid")){
5
newSelect.classList.add("is-invalid");
6
}
7
});
Console errors: 0