我有一个带有表单的模态框(使用Bootstrap-Vue和Vue2)。每一行有两个字段。如果用户未输入有效值到字段中,该字段的状态返回false
,使框变为红色,并在字段下方添加一条消息。但我希望同一行的两个字段能够对齐。问题如下:
当没有显示出错误时,它看起来很好:
代码如下:
<div class="text-right">
<div class="row">
<div class="col-md-6">
<div class="modal-label">שדה 1</div>
<b-form-input
:class="{ 'invalid-form-box': !stateField1(), 'modal-input': true}"
v-model="course_number"
type="number"
placeholder="שדה 1"
:trim="trimInput"/>
<p v-if="!stateField1()" class="invalid-form-text">
לא חוקי 1
</p>
<p v-if="!stateField2() && stateField1()" class="invalid-form-text"></p>
</div>
<div class="col-md-6">
<div class="modal-label">שדה 2</div>
<b-form-input
:class="{ 'invalid-form-box': !stateField2(), 'modal-input': true}"
v-model="score"
type="number"
placeholder="שדה 2"
:trim="trimInput"/>
<p v-if="!stateField2()" class="invalid-form-text">
לא חוקי 2
</p>
<p v-if="!stateField1() && stateField2()" class="invalid-form-text"></p>
</div>
</div>
...
</div>
<style scoped>
div {
margin: auto 0;
direction: rtl;
}
input {
direction: rtl;
}
.modal-label {
margin-bottom: 0.5rem;
}
.modal-input {
margin-bottom: 0.5rem;
}
.modal-header .close {
padding: 1rem 1rem !important;
margin: -1rem auto -1rem -1rem !important;
}
.invalid-form-text {
width: 100%;
margin-top: 0.25rem;
font-size: 80%;
color: #dc3545;
}
.invalid-form-box:focus {
border-color: #dc3545;
box-shadow: 0 0 0 0.2rem rgb(220 53 69 / 25%);
background-repeat: no-repeat;
}
.invalid-form-box {
border-color: #dc3545;
background-repeat: no-repeat;
}
</style>
我该如何让它们对齐呢?我尝试用
<div>
、<label>
和<span>
替换了<p>
,还尝试过使用<br>
。