53 lines
1.4 KiB
C#
Raw Normal View History

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
}