From 111c6bf466858ea573161bd1912ecf8833ae7c45 Mon Sep 17 00:00:00 2001 From: 18631081161 <2088094923@qq.com> Date: Sun, 19 Apr 2026 15:28:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/AdminUser/CreateAdminUserRequest.cs | 18 ++++++++++++++---- .../Models/AdminUser/UpdateAdminUserRequest.cs | 18 ++++++++++++++---- .../admin-web/src/views/system/user/index.vue | 11 +++++++++-- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/server/MiAssessment/src/MiAssessment.Admin/Models/AdminUser/CreateAdminUserRequest.cs b/server/MiAssessment/src/MiAssessment.Admin/Models/AdminUser/CreateAdminUserRequest.cs index b03945d..9da5769 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/Models/AdminUser/CreateAdminUserRequest.cs +++ b/server/MiAssessment/src/MiAssessment.Admin/Models/AdminUser/CreateAdminUserRequest.cs @@ -24,10 +24,15 @@ public class CreateAdminUserRequest public string Password { get; set; } = null!; /// - /// 真实姓名 + /// 真实姓名(为空时自动转 null) /// [MaxLength(50, ErrorMessage = "真实姓名最多50个字符")] - public string? RealName { get; set; } + public string? RealName + { + get => _realName; + set => _realName = string.IsNullOrWhiteSpace(value) ? null : value; + } + private string? _realName; /// /// 头像URL @@ -48,10 +53,15 @@ public class CreateAdminUserRequest private string? _email; /// - /// 手机号 + /// 手机号(为空时自动转 null) /// [MaxLength(20, ErrorMessage = "手机号最多20个字符")] - public string? Phone { get; set; } + public string? Phone + { + get => _phone; + set => _phone = string.IsNullOrWhiteSpace(value) ? null : value; + } + private string? _phone; /// /// 部门ID diff --git a/server/MiAssessment/src/MiAssessment.Admin/Models/AdminUser/UpdateAdminUserRequest.cs b/server/MiAssessment/src/MiAssessment.Admin/Models/AdminUser/UpdateAdminUserRequest.cs index b6e4c42..5b56211 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/Models/AdminUser/UpdateAdminUserRequest.cs +++ b/server/MiAssessment/src/MiAssessment.Admin/Models/AdminUser/UpdateAdminUserRequest.cs @@ -8,10 +8,15 @@ namespace MiAssessment.Admin.Models.AdminUser; public class UpdateAdminUserRequest { /// - /// 真实姓名 + /// 真实姓名(为空时自动转 null) /// [MaxLength(50, ErrorMessage = "真实姓名最多50个字符")] - public string? RealName { get; set; } + public string? RealName + { + get => _realName; + set => _realName = string.IsNullOrWhiteSpace(value) ? null : value; + } + private string? _realName; /// /// 头像URL @@ -32,10 +37,15 @@ public class UpdateAdminUserRequest private string? _email; /// - /// 手机号 + /// 手机号(为空时自动转 null) /// [MaxLength(20, ErrorMessage = "手机号最多20个字符")] - public string? Phone { get; set; } + public string? Phone + { + get => _phone; + set => _phone = string.IsNullOrWhiteSpace(value) ? null : value; + } + private string? _phone; /// /// 部门ID diff --git a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/system/user/index.vue b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/system/user/index.vue index 7ecb73b..c763294 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/system/user/index.vue +++ b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/system/user/index.vue @@ -372,11 +372,18 @@ const handleSubmit = async () => { submitLoading.value = true try { + // 非必填字段:空字符串转 null,避免后端格式验证失败 + const submitData = { + ...formData, + realName: formData.realName || null, + email: formData.email || null, + phone: formData.phone || null + } if (isEdit.value) { - await updateAdminUser(formData.id, formData) + await updateAdminUser(submitData.id, submitData) ElMessage.success('更新成功') } else { - await createAdminUser(formData) + await createAdminUser(submitData) ElMessage.success('创建成功') } dialogVisible.value = false