Files
ASP.NET-CORE-web-test/Models/RequestModels.cs
2025-10-10 16:02:38 +08:00

45 lines
1.3 KiB
C#

using System.ComponentModel.DataAnnotations;
namespace SimpleTodoApiWithPg.Models
{
public class UpdateUserRequest
{
// 设为可空类型,表示这些字段可以选择性更新
[MaxLength(50)]
public string? Username { get; set; }
[MaxLength(100)]
[EmailAddress] // 仍然应用验证
public string? Email { get; set; }
// 密码更新处理:提供一个用于接收新明文密码的字段
// 注意:不应该有 PasswordHash 字段!
[MaxLength(50)]
public string? NewPassword { get; set; }
}
public class LoginRequest
{
[Required(ErrorMessage = "用户名不能为空")]
[MaxLength(50, ErrorMessage = "用户名长度不能超过50个字符")]
public string Username { get; set; } = null!; // null! 表示编译器知道它不会是null
[Required(ErrorMessage = "密码不能为空")]
[MaxLength(50,ErrorMessage = "密码长度不能超过50个字符!")]
// 可以添加 MinLength/MaxLength 验证
public string Password { get; set; } = null!; // 明文密码
}
public class RegisterRequest()
{
public required string Username { get; set; }
public required string Email { get; set; }
}
public record RefreshTokenRequest(string RefreshToken);
}