vue Element表单预验证

表单完整代码:

	<!-- 登陆表单 -->
      <el-form
        :model="form"
        :rules="login_rules"
        ref="form"
        label-width="0px"
        class="login_form"
      >
        <!-- 用户名 -->
        <el-form-item prop="username">
          <el-input
            v-model="form.username"
            placeholder="请输入账号"
            prefix-icon="el-icon-user"
          ></el-input>
        </el-form-item>
        <!-- 密码 -->
        <el-form-item  prop="password">
          <el-input
            v-model="form.password"
            placeholder="请输入密码"
            prefix-icon="el-icon-key"
            type="password"
          ></el-input>
        </el-form-item>
        <!-- 按钮区域 -->
        <el-form-item class="login_btns">
          <el-button
            type="primary"
            @click="submitForm()"
            round
          >登陆</el-button>
          <el-button
            type="info"
            @click="resetForm()"
            round
          >重制</el-button>
        </el-form-item>
      </el-form>

绑定的完整代码

data() {
    return {
      url_logo: require("../assets/logo.png"),
      form: {
        username: "admin",
        password: "admin",
      },
      login_rules: {
        username: [
          { require: true, message: "请输入账号", trigger: "blur" },
          { min: 5, max: 10, message: "请输入5到10位账号", trigger: "blur" },
        ],
        password:[
          { require: true, message: "请输入账号", trigger: "blur" },
          { min: 5, max: 10, message: "请输入5到10位账号", trigger: "blur" },
        ],
      },
    };
  },
 methods: {
    submitForm() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          alert("submit!");
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },
    resetForm() {
        this.$refs.form.resetFields();
    }
  },

先来看登陆表单

	<!-- 登陆表单 -->
      <el-form
        :model="form"
        :rules="login_rules"
        ref="form"
        label-width="0px"
        class="login_form"
      >

解析:

1.其中rules绑定login_rules 即

login_rules: {
        username: [
          { require: true, message: "请输入账号", trigger: "blur" },
          { min: 5, max: 10, message: "请输入5到10位账号", trigger: "blur" },
        ],
        password:[
          { require: true, message: "请输入账号", trigger: "blur" },
          { min: 5, max: 10, message: "请输入5到10位账号", trigger: "blur" },
        ],
      },

require: true 表明不弄为空 trigger:“blur” 为当失去焦点的时候检验
详细编写规则参考
中文翻译的编写规则
英文原文的编写规则

2.其中ref即把本form放进$refs里面,并且以login_rules命名
即:ref=“form”

在下面的代码中引用方法:
this.$refs.form.xxxx操作

再看submitForm

    submitForm() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          alert("submit!");
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },

this.$refs.form即刚刚在ref中放进的对象,可以直接引用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值