mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 10:57:13 +08:00 
			
		
		
		
	refactor: 完善前后端校验
This commit is contained in:
		| @@ -15,7 +15,7 @@ | ||||
|         <a-input | ||||
|           v-model="form.username" | ||||
|           :placeholder="$t('login.form.placeholder.username')" | ||||
|           max-length="50" | ||||
|           :max-length="64" | ||||
|         > | ||||
|           <template #prefix><icon-user /></template> | ||||
|         </a-input> | ||||
| @@ -24,7 +24,7 @@ | ||||
|         <a-input-password | ||||
|           v-model="form.password" | ||||
|           :placeholder="$t('login.form.placeholder.password')" | ||||
|           max-length="32" | ||||
|           :max-length="32" | ||||
|           allow-clear | ||||
|         > | ||||
|           <template #prefix><icon-lock /></template> | ||||
| @@ -34,6 +34,7 @@ | ||||
|         <a-input | ||||
|           v-model="form.captcha" | ||||
|           :placeholder="$t('login.form.placeholder.captcha')" | ||||
|           :max-length="4" | ||||
|           allow-clear | ||||
|           style="width: 63%" | ||||
|         > | ||||
|   | ||||
| @@ -217,7 +217,7 @@ | ||||
|                 <a-input | ||||
|                   v-model="form.title" | ||||
|                   placeholder="请输入标题" | ||||
|                   max-length="255" | ||||
|                   :max-length="150" | ||||
|                   style="width: 100%" | ||||
|                 /> | ||||
|               </a-form-item> | ||||
|   | ||||
| @@ -356,8 +356,14 @@ | ||||
|     // 表单验证规则 | ||||
|     rules: { | ||||
|       parentId: [{ required: true, message: '请选择上级部门' }], | ||||
|       name: [{ required: true, message: '请输入部门名称' }], | ||||
|       sort: [{ required: true, message: '请输入部门排序' }], | ||||
|       name: [ | ||||
|         { required: true, message: '请输入部门名称' }, | ||||
|         { | ||||
|           match: /^[\u4e00-\u9fa5a-zA-Z0-9_-]{2,30}$/, | ||||
|           message: | ||||
|             '长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线', | ||||
|         }, | ||||
|       ], | ||||
|     }, | ||||
|   }); | ||||
|   const { queryParams, form, rules } = toRefs(data); | ||||
|   | ||||
| @@ -271,8 +271,21 @@ | ||||
|     form: {} as DataRecord, | ||||
|     // 表单验证规则 | ||||
|     rules: { | ||||
|       name: [{ required: true, message: '字典名称不能为空' }], | ||||
|       code: [{ required: true, message: '字典编码不能为空' }], | ||||
|       name: [ | ||||
|         { required: true, message: '请输入字典名称' }, | ||||
|         { | ||||
|           match: /^[\\u4e00-\\u9fa5a-zA-Z0-9_-]{2,30}$/, | ||||
|           message: | ||||
|             '长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线', | ||||
|         }, | ||||
|       ], | ||||
|       code: [ | ||||
|         { required: true, message: '请输入字典编码' }, | ||||
|         { | ||||
|           match: /^[a-zA-Z][a-zA-Z0-9_]{1,29}$/, | ||||
|           message: '长度为 2 到 30 位,可以包含字母、数字,下划线,以字母开头', | ||||
|         }, | ||||
|       ], | ||||
|     }, | ||||
|   }); | ||||
|   const { queryParams, form, rules } = toRefs(data); | ||||
| @@ -298,6 +311,7 @@ | ||||
|    * @param params 查询参数 | ||||
|    */ | ||||
|   const getList = (params: ListParam = { ...queryParams.value }) => { | ||||
|     dictId.value = null; | ||||
|     loading.value = true; | ||||
|     list(params) | ||||
|       .then((res) => { | ||||
|   | ||||
| @@ -103,16 +103,25 @@ | ||||
|     > | ||||
|       <a-form ref="formRef" :model="form" :rules="rules" size="large"> | ||||
|         <a-form-item label="字典标签" field="label"> | ||||
|           <a-input v-model="form.label" placeholder="请输入字典标签" /> | ||||
|           <a-input | ||||
|             v-model="form.label" | ||||
|             placeholder="请输入字典标签" | ||||
|             :max-length="30" | ||||
|           /> | ||||
|         </a-form-item> | ||||
|         <a-form-item label="字典值" field="value"> | ||||
|           <a-input v-model="form.value" placeholder="请输入字典值" /> | ||||
|           <a-input | ||||
|             v-model="form.value" | ||||
|             placeholder="请输入字典值" | ||||
|             :max-length="30" | ||||
|           /> | ||||
|         </a-form-item> | ||||
|         <a-form-item label="背景颜色" field="color"> | ||||
|           <a-auto-complete | ||||
|             v-model="form.color" | ||||
|             :data="colors" | ||||
|             placeholder="请选择或输入背景颜色" | ||||
|             :max-length="30" | ||||
|             allow-clear | ||||
|           > | ||||
|             <template #option="{ data }"> | ||||
| @@ -198,8 +207,8 @@ | ||||
|     form: {} as DataRecord, | ||||
|     // 表单验证规则 | ||||
|     rules: { | ||||
|       label: [{ required: true, message: '字典标签不能为空' }], | ||||
|       value: [{ required: true, message: '字典值不能为空' }], | ||||
|       label: [{ required: true, message: '请输入字典标签' }], | ||||
|       value: [{ required: true, message: '请输入字典值' }], | ||||
|     }, | ||||
|   }); | ||||
|   const { queryParams, form, rules } = toRefs(data); | ||||
|   | ||||
| @@ -246,6 +246,7 @@ | ||||
|             <a-input | ||||
|               v-model="form.title" | ||||
|               placeholder="请输入菜单标题" | ||||
|               :max-length="30" | ||||
|               style="width: 182px" | ||||
|             /> | ||||
|           </a-form-item> | ||||
| @@ -266,6 +267,7 @@ | ||||
|             <a-input | ||||
|               v-model="form.permission" | ||||
|               placeholder="请输入权限标识" | ||||
|               :max-length="100" | ||||
|               style="width: 182px" | ||||
|             /> | ||||
|           </a-form-item> | ||||
| @@ -273,6 +275,7 @@ | ||||
|             <a-input | ||||
|               v-model="form.path" | ||||
|               placeholder="请输入路由地址" | ||||
|               :max-length="255" | ||||
|               style="width: 473px" | ||||
|             /> | ||||
|           </a-form-item> | ||||
| @@ -284,6 +287,7 @@ | ||||
|             <a-input | ||||
|               v-model="form.name" | ||||
|               placeholder="请输入组件名称" | ||||
|               :max-length="50" | ||||
|               style="width: 182px" | ||||
|             /> | ||||
|           </a-form-item> | ||||
| @@ -295,6 +299,7 @@ | ||||
|             <a-input | ||||
|               v-model="form.component" | ||||
|               placeholder="请输入组件路径" | ||||
|               :max-length="255" | ||||
|               style="width: 182px" | ||||
|             /> | ||||
|           </a-form-item> | ||||
|   | ||||
| @@ -494,20 +494,19 @@ | ||||
|       name: [ | ||||
|         { required: true, message: '请输入角色名称' }, | ||||
|         { | ||||
|           match: /^[\u4e00-\u9fa5a-zA-Z0-9_-]{1,20}$/, | ||||
|           match: /^[\u4e00-\u9fa5a-zA-Z0-9_-]{2,30}$/, | ||||
|           message: | ||||
|             '长度为 1 到 20 位,可以包含中文、字母、数字、下划线,短横线', | ||||
|             '长度为 2 到 30 位,可以包含中文、字母、数字、下划线,短横线', | ||||
|         }, | ||||
|       ], | ||||
|       code: [ | ||||
|         { required: true, message: '请输入角色编码' }, | ||||
|         { | ||||
|           match: /^[a-zA-Z][a-zA-Z0-9_]{1,15}$/, | ||||
|           message: '长度为 2 到 16 位,可以包含字母、数字,下划线,以字母开头', | ||||
|           match: /^[a-zA-Z][a-zA-Z0-9_]{1,29}$/, | ||||
|           message: '长度为 2 到 30 位,可以包含字母、数字,下划线,以字母开头', | ||||
|         }, | ||||
|       ], | ||||
|       dataScope: [{ required: true, message: '请选择数据权限' }], | ||||
|       sort: [{ required: true, message: '请输入角色排序' }], | ||||
|     }, | ||||
|   }); | ||||
|   const { queryParams, form, rules } = toRefs(data); | ||||
|   | ||||
| @@ -15,7 +15,7 @@ | ||||
|       <a-input | ||||
|         v-model="form.username" | ||||
|         :placeholder="$t('userCenter.basicInfo.form.placeholder.username')" | ||||
|         max-length="16" | ||||
|         :max-length="64" | ||||
|       /> | ||||
|     </a-form-item> | ||||
|     <a-form-item | ||||
| @@ -25,7 +25,7 @@ | ||||
|       <a-input | ||||
|         v-model="form.nickname" | ||||
|         :placeholder="$t('userCenter.basicInfo.form.placeholder.nickname')" | ||||
|         max-length="20" | ||||
|         :max-length="30" | ||||
|       /> | ||||
|     </a-form-item> | ||||
|     <a-form-item | ||||
|   | ||||
| @@ -71,7 +71,7 @@ | ||||
|               'userCenter.securitySettings.updateEmail.form.placeholder.captcha' | ||||
|             ) | ||||
|           " | ||||
|           max-length="6" | ||||
|           :max-length="6" | ||||
|           allow-clear | ||||
|           style="width: 80%" | ||||
|         /> | ||||
| @@ -100,7 +100,7 @@ | ||||
|               'userCenter.securitySettings.updateEmail.form.placeholder.currentPassword' | ||||
|             ) | ||||
|           " | ||||
|           max-length="32" | ||||
|           :max-length="32" | ||||
|           allow-clear | ||||
|         /> | ||||
|       </a-form-item> | ||||
|   | ||||
| @@ -55,7 +55,7 @@ | ||||
|               'userCenter.securitySettings.updatePwd.form.placeholder.oldPassword' | ||||
|             ) | ||||
|           " | ||||
|           max-length="32" | ||||
|           :max-length="32" | ||||
|           allow-clear | ||||
|         /> | ||||
|       </a-form-item> | ||||
| @@ -72,7 +72,7 @@ | ||||
|               'userCenter.securitySettings.updatePwd.form.placeholder.newPassword' | ||||
|             ) | ||||
|           " | ||||
|           max-length="32" | ||||
|           :max-length="32" | ||||
|           allow-clear | ||||
|         /> | ||||
|       </a-form-item> | ||||
| @@ -89,7 +89,7 @@ | ||||
|               'userCenter.securitySettings.updatePwd.form.placeholder.rePassword' | ||||
|             ) | ||||
|           " | ||||
|           max-length="32" | ||||
|           :max-length="32" | ||||
|           allow-clear | ||||
|         /> | ||||
|       </a-form-item> | ||||
|   | ||||
| @@ -303,12 +303,14 @@ | ||||
|               v-model="form.username" | ||||
|               placeholder="请输入用户名" | ||||
|               style="width: 162px" | ||||
|               :max-length="64" | ||||
|             /> | ||||
|           </a-form-item> | ||||
|           <a-form-item label="昵称" field="nickname"> | ||||
|             <a-input | ||||
|               v-model="form.nickname" | ||||
|               placeholder="请输入昵称" | ||||
|               :max-length="30" | ||||
|               style="width: 162px" | ||||
|             /> | ||||
|           </a-form-item> | ||||
| @@ -316,6 +318,7 @@ | ||||
|             <a-input | ||||
|               v-model="form.email" | ||||
|               placeholder="请输入邮箱" | ||||
|               :max-length="255" | ||||
|               style="width: 162px" | ||||
|             /> | ||||
|           </a-form-item> | ||||
| @@ -323,6 +326,7 @@ | ||||
|             <a-input | ||||
|               v-model="form.phone" | ||||
|               placeholder="请输入手机号码" | ||||
|               :max-length="15" | ||||
|               style="width: 162px" | ||||
|             /> | ||||
|           </a-form-item> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user