vue按键登录验证两种(非element UI框架和element UI框架)

1.非element UI

<template>  
  <div>  
    <form @submit.prevent="handleSubmit" @keydown.enter.prevent="handleSubmit">  
      <div>  
        <label for="username">用户名:</label>  
        <input type="text" id="username" v-model="username" required />  
      </div>  
      <div>  
        <label for="password">密码:</label>  
        <input type="password" id="password" v-model="password" required />  
      </div>  
      <div>  
        <button type="submit">登录</button>  
      </div>  
    </form>  
  </div>  
</template>  
  
<script>  
export default {  
  data() {  
    return {  
      username: '',  
      password: ''  
    };  
  },  
  methods: {  
    handleSubmit() {  
      if (this.validateForm()) {  
        this.$router.push({ path: '/hou' });  
        this.username = '';  
        this.password = '';  
      }  
    },  
    //此方法为验证按键的方法,不可删除
    //鼠标点击有表单required验证
    validateForm() {  
      if (!this.username || !this.password) {  
        alert('用户名和密码不能为空');  
        return false;  
      }  
      return true;  
    }  
  }  
}  
</script>

<style scoped>
form {
  display: flex;
  flex-direction: column;
  max-width: 300px;
  margin: 0 auto;
}
label {
  margin-top: 10px;
}
input {
  padding: 5px;
  margin-top: 5px;
}
button {
  padding: 10px 20px;
  margin-top: 10px;
  font-size: 16px;
  cursor: pointer;
}
</style>

2.element UI

<template>
  <div>
    <el-form :model="form" :rules="rules" ref="loginForm" @submit.native.prevent="handleSubmit" @keydown.enter.prevent="handleSubmit">
      <el-form-item label="用户名" prop="username">
        <el-input v-model="form.username" placeholder="请输入用户名"></el-input>
      </el-form-item>
      <el-form-item label="密码" prop="password">
        <el-input type="password" v-model="form.password" placeholder="请输入密码"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" native-type="submit" ref="loginButton" >登录</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      form: {
        username: '',
        password: ''
      },
      rules: {
        username: [
          { required: true, message: '请输入用户名', trigger: 'blur' }
        ],
        password: [
          { required: true, message: '请输入密码', trigger: 'blur' }
        ]
      }
    };
  }, 
  methods: {
    handleSubmit() {
      this.$refs.loginForm.validate((valid) => {
        if (valid) {
          this.$router.push({ path: '/qian' });
        } else {
          console.log('表单验证失败');
          return false;
        }
      });
    },
  },
}
</script>

<style scoped>
.el-form {
  max-width: 300px;
  margin: 0 auto;
}
.el-button {
  width: 100%;
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值