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) });
}
}
}