2026-04-12 16:54:39 +08:00
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
2026-02-08 15:57:40 +08:00
|
|
|
|
using YD_Event.Core.Enum;
|
|
|
|
|
|
|
|
|
|
|
|
namespace YD_Event.Application.Role.Dtos;
|
2025-12-17 10:32:52 +08:00
|
|
|
|
|
2026-03-18 13:47:34 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 添加角色输入
|
|
|
|
|
|
/// </summary>
|
2026-04-12 16:54:39 +08:00
|
|
|
|
public class AddSysRoleInput : IValidatableObject
|
2025-12-17 10:32:52 +08:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 角色名称
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[Required(ErrorMessage = "角色名称为必填项")]
|
|
|
|
|
|
[MaxLength(32, ErrorMessage = "角色名称限制32个字符内")]
|
|
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 备注
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[MaxLength(200, ErrorMessage = "备注限制200个字符内")]
|
|
|
|
|
|
public string Remark { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2026-02-08 15:57:40 +08:00
|
|
|
|
/// 排序
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public int Sort { get; set; } = 100;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 状态
|
2025-12-17 10:32:52 +08:00
|
|
|
|
/// </summary>
|
2026-02-08 15:57:40 +08:00
|
|
|
|
public AvailabilityStatus Status { get; set; } = AvailabilityStatus.Enable;
|
2026-04-12 16:54:39 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 菜单ID集合
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public List<long> MenuIds { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 菜单ID集合(前端使用)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public List<long> Menus { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
|
|
|
|
|
{
|
|
|
|
|
|
var menuIds = MenuIds ?? Menus;
|
|
|
|
|
|
if (menuIds == null || menuIds.Count == 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
yield return new ValidationResult("请选择权限", new[] { nameof(MenuIds), nameof(Menus) });
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2026-02-08 15:57:40 +08:00
|
|
|
|
}
|