using System.ComponentModel.DataAnnotations; using YD_Event.Core.Enum; namespace YD_Event.Application.Role.Dtos; /// /// 添加角色输入 /// public class AddSysRoleInput : IValidatableObject { /// /// 角色名称 /// [Required(ErrorMessage = "角色名称为必填项")] [MaxLength(32, ErrorMessage = "角色名称限制32个字符内")] public string Name { get; set; } /// /// 备注 /// [MaxLength(200, ErrorMessage = "备注限制200个字符内")] public string Remark { get; set; } /// /// 排序 /// public int Sort { get; set; } = 100; /// /// 状态 /// public AvailabilityStatus Status { get; set; } = AvailabilityStatus.Enable; /// /// 菜单ID集合 /// public List MenuIds { get; set; } /// /// 菜单ID集合(前端使用) /// public List Menus { get; set; } public IEnumerable Validate(ValidationContext validationContext) { var menuIds = MenuIds ?? Menus; if (menuIds == null || menuIds.Count == 0) { yield return new ValidationResult("请选择权限", new[] { nameof(MenuIds), nameof(Menus) }); } } }