关于form表单提示框消息重叠问题

关于form表单提示框消息重叠问题

这几天做了一个vue项目,用的是element-ui插件,网页里面有用到表单的组件,在进行验证的时候发现提示框重叠,

<template>
           <!-- 用户名输入框 -->
          <p class="input-p">*****</p>
          <div class="input-t input-input">
            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="input-form">
              <el-form-item prop="name" v-model="ruleForm.name">
                <span class="input-t1 in-sp-img">
                  <img src="../assets/user.png" />
                </span>
                <el-input class="input-t1" type="text" placeholder="请输入用户名" v-model="ruleForm.name"></el-input>
              </el-form-item>
            </el-form>
          </div>
          <!-- 密码输入框 -->
          <div class="input-b input-input">
            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="input-form">
              <el-form-item prop="pass" v-model="ruleForm.pass">
                <span class="input-b1 in-sp-img">
                  <img src="../assets/password.png" />
                </span>
                <el-input
                  class="input-b1"
                  type="password"
                  placeholder="请输入密码"
                  v-model="ruleForm.pass"
                  autocomplete="off"
                >
                  <!-- show-password 显示密码输入信息-->
                </el-input>
              </el-form-item>
            </el-form>
          </div>
 </template>

data() {
    var validatePass = (rule, value, callback) => {
      if (value === "") {
        callback(new Error("请输入密码"));
      } else {
        if (this.ruleForm.checkPass !== "") {
          this.$refs.ruleForm.validateField("checkPass");
        }
        callback();
      }
    };
    return {
      ruleForm: {
        name: "",
        pass: ""
      },
      rules: {
        name: [
          { required: true, message: "请输入用户名", trigger: "blur" },
          {min: 3, max: 10,message: "请输入长度在 3 到 10 个字符",  trigger: "blur" }
        ],
        pass: [
          { validator: validatePass, trigger: "blur" },
          { min: 3,   max: 10, message: "请输入长度在 3 到 10 个字符", trigger: "blur"  }
        ]
      },

      methods: {
        submitForm(formName) {
          this.$refs[formName].validate(valid => {
            if (valid) {
              alert("submit!");
            } else {
              console.log("error submit!!");
              return false;
            }
          });
        },
        resetForm(formName) {
          this.$refs[formName].resetFields();
        }
      }
    };
  }
};
<style>
   .input-p {
  font-size: 28px;
  margin-left: -30px;
  margin-bottom: 60px;
  font-weight: bold;
  color: #000000;
}
.input-input {
  width: 320px;
  height: 40px;
  margin-top: 30px;
  /* position: absolute;
  top: 100px;
  left: 0; */
}
</style>

这里面 最重要的就是.input-input,因为他涉及了一个输入框定位问题,而提示框是根据输入框的位置进行提示,
如果两个输入框用一个类名的话就不要用定位,直接用margin值就行,解决了输入框间距问题和提示框定位问题,
希望大家不要跟我犯这么低级的错误。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值