element-ui表单验证

来源:互联网 发布:关于人工智能的英语 编辑:程序博客网 时间:2024/05/16 15:01
1. html
<el-form :model="user" :rules="rules" ref="ruleForm" label-width="80px">    <el-form-item label="用户名" prop="username" class="delu-box">        <el-input v-model="user.username" placeholder="请输入用户名"></el-input>    </el-form-item>    <el-form-item label="密 码" prop="password" class="login-password delu-box">        <el-input v-model="user.password" placeholder="请输入密码" type="password"                  @keyup.native.enter="handleSubmit"></el-input>    </el-form-item>    <el-form-item class="delu-box">        <el-button type="primary" @click.native.prevent="login" :loading="btnLoading"                   style="float: left;">登录        </el-button>        <el-button @click.native.prevent="handleReset" style="float: right;">重置</el-button>    </el-form-item></el-form>
2. 设置data()默认数据
data () {  return {    user: {      username: '',      password: ''    },    rules: {      username: [        {required: true, message: '请输入用户名', trigger: 'blur'}      ],      password: [        {required: true, message: '请输入登录密码', trigger: 'blur'}      ]    }  }
3. methods验证
methods: {
login () {  this.$refs.ruleForm.validate((valid) => {    if (valid) {      console.log('2222222222')      this.user.password = Md5.md5(this.user.password)      this.$store.dispatch('login', this.user).then(() => {        axios({          method: 'post',          url: this.uploadAddr + 'public/getToken',          data: {            data: this.user.username + new Date().getTime()          }        }).then(response => {          window.localStorage.setItem('token', response.data)          axios.defaults.headers.common['Authorization'] = 'Bearer ' + window.localStorage.getItem('token')        })        this.$router.push({path: '/admin'})      }).catch(err => {        this.$message.error(err)      })    }  })},handleReset () {  this.$refs.ruleForm.resetFields()},handleSubmit () {  this.login()}

}

原创粉丝点击