使用vue写一个登录页面,有用户名和密码,都做一些输入校验,不符合校验规则就提示重新输入
时间: 2023-06-23 07:10:09 浏览: 65
好的,下面是一个简单的登录页面示例,使用了Vue和Element UI组件库,进行了用户名和密码的输入校验,并在校验不通过时提示用户重新输入。
```
<template>
<div class="login-container">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<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 v-model="form.password" type="password" placeholder="请输入密码"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="login">登录</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data() {
return {
form: {
username: '',
password: ''
},
rules: {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' },
{ min: 6, max: 20, message: '长度在 6 到 20 个字符', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' },
{ min: 6, max: 20, message: '长度在 6 到 20 个字符', trigger: 'blur' }
]
}
}
},
methods: {
login() {
this.$refs.form.validate((valid) => {
if (valid) {
// 校验通过,执行登录操作
console.log('登录成功')
} else {
// 校验不通过,提示用户重新输入
this.$message.error('请检查输入内容是否符合规则')
return false
}
})
}
}
}
</script>
<style>
.login-container {
margin: 50px auto;
width: 400px;
}
</style>
```
在上面的示例中,我们使用了Element UI组件库的表单组件来实现输入校验,其中:
- `el-form` 组件包含了所有的表单项,通过 `ref` 属性可以获取到表单实例,方便进行校验等操作。
- `el-form-item` 组件用来包裹每个表单项,其中的 `prop` 属性对应的是校验规则中的字段名。
- `el-input` 组件用来展示输入框,并通过 `v-model` 指令绑定了表单数据。
- `el-button` 组件用来展示登录按钮,并通过 `@click` 事件绑定了登录方法。
在 `data` 方法中,我们定义了表单数据 `form` 和校验规则 `rules`。
在 `methods` 方法中,我们定义了登录方法 `login`,该方法在用户点击登录按钮时会调用。在该方法中,我们使用了 `this.$refs.form.validate` 方法来进行表单校验,如果校验通过则执行登录操作,否则提示用户重新输入。
最后,通过样式定义,我们设置了登录页面的样式,使其居中显示。