ElementUI登录页面以及表单验证

 

 

 

 

<template>

  <div class="body">

    <el-form

      :model="ruleForm"

      :rules="rules"

      ref="ruleForm"

      label-position="left"

      label-width="0px"

      class="login-form"

    >

      <!-- 标题 -->

      <h3 class="title">后台管理系统</h3>

      <el-form-item prop="username">

        <el-input

          placeholder="请输入用户名/账号"

          v-model="ruleForm.username"

          clearable

        >

        </el-input>

      </el-form-item>

      <el-form-item prop="password">

        <el-input

          placeholder="请输入密码"

          v-model="ruleForm.password"

          show-password

          clearable

        >

        </el-input>

      </el-form-item>

      <el-form-item style="width: 100%">

        <el-button

          class="btn-login"

          size="medium"

          type="primary"

          style="width: 100%"

          @click="login('ruleForm')"

        >

          <span>登 录</span>

        </el-button>

      </el-form-item>

    </el-form>

  </div>

</template>

<script>

export default {

  data() {

    return {

      ruleForm: {

        username: "", //账号

        password: "", //密码

      },

      rules: {

        //表单验证规则

        username: [

          { required: true, message: "请输入用户名/账号", trigger: "blur" },

          { min: 2, max: 6, message: "长度在 2 到 6 个字符", trigger: "blur" },

        ],

        password: [

          { required: true, message: "请输入密码", trigger: "blur" },

          {

            min: 6,

            max: 18,

            message: "长度在 6 到 18 个字符",

            trigger: "blur",

          },

        ],

      },

    };

  },

  methods: {

    // 跳转到首页

   login(formName) {

        //表单验证

      this.$refs[formName].validate((valid) => {

        if (valid) {

          let userInfo = {

            token: "sd",

          };

          this.$store

            .dispatch("LoginByUsername", userInfo)

            .then(() => {

              this.$router.push("/index");//页面跳转到首页

            })

            .catch(() => {});

        }

      });

    },

  },

};

</script>

<style lang="less" scoped>

.body {

  display: flex;

  justify-content: center;

  align-items: center;

  height: 100%;

  background-size: cover;

  .login-form {

    border-radius: 6px;

    background: #ffffff;

    width: 385px;

    padding: 25px 25px 5px 25px;

  }

}

</style>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值