**先看效果:**当输入框为空或者不符合要求是在输入框下方进行文字提示,检测到有输入内容则提示消失
1.html
要用到:class动态绑定样式和@input检测输入框状态,看代码
html
<el-input
v-model="diauser"
style="margin-bottom: 20px; width: 70%"
placeholder="请输入账户"
:prefix-icon="Avatar"
clearable
:class="{ error: diauserError }"
@input="checkInput"
></el-input>
<small v-if="diauserError" class="error-message">账户不能为空且由6-16位字母、数字、下划线组成</small>
因为我写了多个输入框,所以我没有用div进行包裹,选择直接在el-input标签下直接使用span,但我想要的小字体所有把span换成了small**(** 但在css中也做了字体大小修改**)**
2.js
js部分要定义为false,默认提示语为关闭状态
methods中代码为,使用管道符|| 进行逻辑判断的连接 (||==or或者)
javascript
if (
this.diauser.trim() === "" ||
!/(?=.*[A-Za-z_])[A-Za-z0-9_]{6,16}$/.test(this.diauser)
) {
this.diauserError = true;
}
还有一个检测输入框状态的方法
当点击输入框时触发checkInput方法,this.diauser.trim()会检查this.diauser是否为空或者不符合设定预期,this.diauserError是上方设置的布尔值,不符合预期就是true,其余都默认为false
3.css
定义提示语字体颜色、大小(格式)等
css
.error-message {
color: red;
font-size: 12px;
margin-top: -20px;
}
如有错误,欢迎指正~!