45 lines
1.3 KiB
C#
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);
|
|
|
|
|
|
}
|