<template>
<div class="register">
<section class="form_container">
<div class="manage_tip">
<span class="title">米修在線后台管理系統</span>
</div>
<el-form :model="registerUser" :rules="rules" class="registerForm" ref="registerForm" label-width="80px">
<el-form-item label="用戶名" prop="name">
<el-input v-model="registerUser.name" placeholder="請輸入用戶名"></el-input>
</el-form-item>
<el-form-item label="郵箱" prop="email">
<el-input v-model="registerUser.email" placeholder="請輸入郵箱"></el-input>
</el-form-item>
<el-form-item label="密碼" prop="password">
<el-input v-model="registerUser.password" placeholder="請輸入密碼" type="password"></el-input>
</el-form-item>
<el-form-item label="確認密碼" prop="password2">
<el-input v-model="registerUser.password2" placeholder="請確認密碼" type="password"></el-input>
</el-form-item>
<el-form-item label="選擇身份">
<el-select v-model="registerUser.identity" placeholder="請選擇身份">
<el-option label="管理員" value="manager"></el-option>
<el-option label="員工" value="employee"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" class="submit_btn" @click="submitForm('registerForm')">注 冊</el-button>
</el-form-item>
</el-form>
</section>
</div>
</template>
<script>
export default {
name: "register",
// 判斷密碼是否一致;
data() {
var validatePass2 = (rule, value, callback) => {
if (value !== this.registerUser.password) {
callback(new Error("兩次輸入密碼不一致!"));
} else {
callback();
}
};
return {
registerUser: {
name: "",
email: "",
password: "",
password2: "",
identity: ""
},
// 在return 后面;
rules: {
// 要以數組形式展示
name: [
{ required: true, message: "用戶名不能為空", trigger: "change" },
{ min: 2, max: 30, message: "長度在 2 到 30 個字符", trigger: "blur" }
],
email: [
{
type: "email",
required: true,
message: "郵箱格式不正確",
trigger: "blur"
}
],
password: [
{ required: true, message: "密碼不能為空", trigger: "blur" },
{ min: 6, max: 30, message: "長度在 6 到 30 個字符", trigger: "blur" }
],
password2: [
{ required: true, message: "確認密碼不能為空", trigger: "blur" },
{
min: 6,
max: 30,
message: "長度在 6 到 30 個字符",
trigger: "blur"
},
{ validator: validatePass2, trigger: "blur" }
]
}
};
},
methods: {
submitForm(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
this.$axios
.post("/api/users/register", this.registerUser)
.then(res => {
// 注冊成功
this.$message({
message: "注冊成功!",
type: "success"
});
// this.$router.push("/login");
});
} else {
console.log("error submit!!");
return false;
}
});
}
}
};
</script>
喜歡的小伙伴可以關注我的微信公眾號“前端偽大叔”

