You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
2.3 KiB
C#

using FluentValidation;
namespace DS.WMS.Core.System.Dtos;
/// <summary>
/// 权限输入实体
/// </summary>
public class PermissionReq
{
/// <summary>
/// 主键
/// </summary>
public long? Id { get; set; }
/// <summary>
///上级权限ID
/// </summary>
public long ParentId { get; set; } = 0;
/// <summary>
/// 权限名称
/// </summary>
public string PermissionName { get; set; }
/// <summary>
///权限唯一码
/// </summary>
public string PermissionCode { get; set; }
/// <summary>
/// 菜单名称
/// </summary>
public string Title
{
get
{
return this.PermissionName;
}
}
/// <summary>
/// 权限图标
/// </summary>
public string Icon { get; set; } = "";
/// <summary>
/// 路径
/// </summary>
public string Url { get; set; } = "";
/// <summary>
/// 跳转
/// </summary>
public string Redirect { get; set; } = "";
/// <summary>
/// 组件
/// </summary>
public string Component { get; set; } = "";
/// <summary>
/// 权限类型
/// 1:目录; 2:子菜单:3:按钮权限
/// </summary>
public int MenuType { get; set; }
/// <summary>
/// 外链菜单打开方式 0/内部打开 1/外部打开
/// </summary>
public int OpenType { get; set; }
/// <summary>
///权限模板 0: 公共; 1:客户端; 2:市平台:3:省平台
/// </summary>
public int PermissionType { get; set; } = 0;
/// <summary>
/// 排序码
/// </summary>
public int SortCode { get; set; }
/// <summary>
/// 是否隐藏路由
/// </summary>
public bool IsHidden { get; set; } = false;
}
/// <summary>
/// 验证
/// </summary>
public class PermissionValidator : AbstractValidator<PermissionReq>
{
/// <summary>
/// 构造函数
/// </summary>
public PermissionValidator()
{
this.RuleFor(o => o.PermissionName)
.NotEmpty().WithName("权限名称");
this.RuleFor(o => o.PermissionCode)
.NotEmpty().WithName("权限唯一码");
// this.RuleFor(o => o.Component)
// .NotEmpty().WithName("组件");
this.RuleFor(o => o.MenuType)
.NotEmpty().WithName("权限类型");
}
}