1.FileTypeDto实体类添加属性 Required
/// <summary>
/// 分类名称
/// </summary>
[Required(ErrorMessage = "分类名称不能为空")]
public string TypeName { get; set; }
//参数验证示例
/*
[ValidateNever]:指示属性或参数应从验证中排除。
[CreditCard]:验证属性是否具有信用卡格式。
[Compare]:验证模型中的两个属性是否匹配。
[EmailAddress]:验证属性是否具有电子邮件格式。
[Phone]:验证属性是否具有电话号码格式。
[Range]:验证属性值是否在指定的范围内。
[RegularExpression]:验证属性值是否与指定的正则表达式匹配。
[Required]:验证字段是否不为 null。
[StringLength]:验证字符串属性值是否不超过指定长度限制。
[URL]:验证属性是否具有 URL 格式。
[Remote]:通过在服务器上调用操作方法来验证客户端上的输入。
*/
//[Required(ErrorMessage = "检测日期不能为空")]
//[StringLength(10, ErrorMessage = "名字长度不能超过10个字符!")]
//[Phone(ErrorMessage = "手机格式错误!")]
2.Controller写法
[HttpPost]
[AuthorizeFilter]
public async Task<TData<string>> SaveForm([FromBody] FileTypeDto dto)
{
return await fileTypeBLL.SaveForm(new TransExp<FileTypeDto, FileTypeEntity>().Trans(dto));
}
3.AuthorizeFilter过滤器写法,重写OnActionExecution方法,增加参数校验
/// <summary>
/// 异步接口日志
/// </summary>
/// <param name="context"></param>
/// <param name="next"></param>
/// <returns></returns>
public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
#region 参数校验
System.Collections.Generic.List<string> errors = context.ModelState
.Values
.SelectMany(x => x.Errors
.Select(p => p.ErrorMessage))
.ToList();
if(errors.Count()>0)
{
// 统一返回格式
TData<string> result = new TData<string>()
{
Message = errors.FirstOrDefault()
};
context.Result = new JsonResult(result);
return;
}
#endregion
4.最终效果
标签:core,Required,验证,是否,ErrorMessage,格式,swagger,属性 From: https://www.cnblogs.com/oBehavior/p/18228455