前言
一直想开发一个功能比较强大的项目,但是一直没有动手,最近终于有点时间来折腾它了。由于时隔两年没有接触前端了,所以需要一个小项目先练练手感。等这个项目完工之后在着手搞一个大工程。都说好记星不如烂笔头,现在就将这一个过程记录下来,万一有什么踩坑的地方,也可以提示后来人。
接上一篇登录页面表单校验踩坑记录
示例代码如下:
<template>
<div>
<el-form :rules="rules" ref="loginForm" :model="loginForm" class="loginContainer">
<h3 class="loginTitle" >登录入口</h3>
<el-form-item prop="username">
<el-input type="text" auto-complete="false" v-model="loginForm.username" placeholder="请输入用户名"></el-input>
</el-form-item>
<el-form-item prop="password">
<el-input type="password" auto-complete="false" v-model="loginForm.password" placeholder="请输入密码"></el-input>
</el-form-item>
<el-form-item prop="code">
<el-input type="text" auto-complete="false" v-model="loginForm.code"
placeholder="点击图片更换验证码" style="width: 250px;margin-right: 5px"></el-input>
<img :src="captchaUrl">
</el-form-item>
<el-checkbox v-model="checked" class="loginRemember">记住我</el-checkbox>
<el-button type="primary" style="width: 100%" @click="submitLogin">登录</el-button>
</el-form>
</div>
</template>
<script>
export default {
name: "Login",
data(){
return {
captchaUrl:'',
loginForm:{
username:"admin",
password:"123",
code:""
},
checked: true,
rules: {
username: [{required: true,message: '请输入用户名',trigger: 'blur'}],
password: [{required: true,message: '请输入密码',trigger: 'blur'}],
code: [{required: true,message: '请输入验证码',trigger: 'blur'}]
}
// https://element.eleme.cn/#/zh-CN/component/form 表单验证
}
},
methods:{
submitLogin(){
this.$refs.loginForm.validate((valid) => {
if (valid) {
alert('submit!');
} else {
this.$message.error('请输入所有的必填字段信息');
return false;
}
});
}
}
}
</script>
<style>
.loginContainer{
board-radius:15px;
background-clip:padding-box;
margin:100px auto;
width:350px;
padding: 15px 35px 15px 35px;
background: #fff;
board: 1px solid #eaeaea;
box-shadow: 0 0 25px #cac6c6;
}
.loginTitle{
margin: 0px auto 40px auto;
text-align: center;
}
.loginRemember{
text-align: left;
margin: 0px 0px 15px 0px;
}
</style>
rules不生效
- rules没有在前面加 :
- prop中的名字没有和v-model中的名字匹配
- required没有拼写正确,写成了require