From c6d7797e671d46334726e5df1bac698722aa6eb7 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 09 七月 2024 14:21:17 +0800
Subject: [PATCH] 添加学生时,校验密码、手机号
---
src/views/user/student/edit.vue | 60 +++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 45 insertions(+), 15 deletions(-)
diff --git a/src/views/user/student/edit.vue b/src/views/user/student/edit.vue
index 71c7118..6323e4d 100644
--- a/src/views/user/student/edit.vue
+++ b/src/views/user/student/edit.vue
@@ -2,14 +2,17 @@
<div class="app-container">
<el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules">
- <el-form-item label="鐢ㄦ埛鍚嶏細" prop="userName" required>
- <el-input v-model="form.userName"></el-input>
- </el-form-item>
- <el-form-item label="瀵嗙爜锛�" required>
- <el-input v-model="form.password"></el-input>
- </el-form-item>
<el-form-item label="鐪熷疄濮撳悕锛�" prop="realName" required>
<el-input v-model="form.realName"></el-input>
+ </el-form-item>
+ <el-form-item label="鎵嬫満锛�" prop="phone" required>
+ <el-input v-model="form.phone"></el-input>
+ </el-form-item>
+ <el-form-item label="鐧诲綍璐﹀彿锛�" prop="userName" required>
+ <el-input v-model="form.userName" autocomplete="off"></el-input>
+ </el-form-item>
+ <el-form-item label="鐧诲綍瀵嗙爜锛�" prop="password" required>
+ <el-input v-model="form.password" show-password autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="骞撮緞锛�">
<el-input v-model="form.age"></el-input>
@@ -20,16 +23,13 @@
</el-select>
</el-form-item>
<el-form-item label="鍑虹敓鏃ユ湡锛�">
- <el-date-picker v-model="form.birthDay" type="date" value-format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" />
+ <el-date-picker v-model="form.birthDay" type="date" value-format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡"/>
</el-form-item>
- <el-form-item label="鎵嬫満锛�">
- <el-input v-model="form.phone"></el-input>
- </el-form-item>
-<!-- <el-form-item label="骞寸骇锛�" prop="userLevel" required>-->
-<!-- <el-select v-model="form.userLevel" placeholder="骞寸骇">-->
-<!-- <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>-->
-<!-- </el-select>-->
-<!-- </el-form-item>-->
+ <!-- <el-form-item label="骞寸骇锛�" prop="userLevel" required>-->
+ <!-- <el-select v-model="form.userLevel" placeholder="骞寸骇">-->
+ <!-- <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
<el-form-item label="鐘舵�侊細" required>
<el-select v-model="form.status" placeholder="鐘舵��">
<el-option v-for="item in statusEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
@@ -49,6 +49,30 @@
export default {
data () {
+ var validatePassword = (rule, value, callback) => {
+ if (value === '') {
+ callback(new Error('璇疯緭鍏ュ瘑鐮�'))
+ } else if (!/[A-Z]/.test(value)) {
+ callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓ぇ鍐欏瓧姣�'))
+ } else if (!/[a-z]/.test(value)) {
+ callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓皬鍐欏瓧姣�'))
+ } else if (!/[0-9]/.test(value)) {
+ callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓暟瀛�'))
+ } else {
+ callback()
+ }
+ }
+ var validatePhone = (rule, value, callback) => {
+ // 鎵嬫満鍙烽獙璇侀�昏緫
+ const phoneRegex = /^1[3-9]\d{9}$/;
+ if (!value) {
+ callback(new Error('璇疯緭鍏ユ墜鏈哄彿'));
+ } else if (!phoneRegex.test(value)) {
+ callback(new Error('鎵嬫満鍙锋牸寮忎笉姝g‘'));
+ } else {
+ callback();
+ }
+ }
return {
form: {
id: null,
@@ -70,6 +94,12 @@
],
realName: [
{ required: true, message: '璇疯緭鍏ョ湡瀹炲鍚�', trigger: 'blur' }
+ ],
+ password: [
+ { validator: validatePassword, trigger: 'blur' }
+ ],
+ phone: [
+ { validator: validatePhone, trigger: 'blur' }
]
}
}
--
Gitblit v1.8.0