src/DotNetCommon.Core/Validate/ValidateModelHelper.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using DotNetCommon.Data;
using DotNetCommon.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DotNetCommon.Validate
{
/// <summary>
/// 模型校验帮助类
/// </summary>
public static class ValidateModelHelper
{
/// <summary>
/// 使用给定的校验逻辑校验对象,提取出校验失败提示
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dto"></param>
/// <param name="func"></param>
/// <returns></returns>
public static string ValidErrorMessage<T>(T dto, Action<ValidateContext<T>> func)
{
var ctx = new ValidateContext<T>(dto, "");
try
{
func(ctx);
}
catch (ValidateException) { }
//组装结果(含子节点)
var msg = FetchMessage(ctx);
return msg;
}
/// <summary>
/// 使用给定的校验逻辑校验对象,返回结果响应对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dto"></param>
/// <param name="func"></param>
/// <param name="errorCode"></param>
/// <returns></returns>
public static Result ValidResult<T>(T dto, Action<ValidateContext<T>> func, int errorCode = 0)
{
var msg = ValidErrorMessage(dto, func);
if (msg.IsNullOrEmptyOrWhiteSpace()) return Result.Ok();
return Result.NotOk(msg, errorCode, null, null);
}
/// <summary>
/// 使用给定的校验逻辑校验对象,返回结果响应对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dto"></param>
/// <param name="func"></param>
/// <param name="errorCode"></param>
/// <returns></returns>
public static void ValidThrow<T>(T dto, Action<ValidateContext<T>> func, int errorCode = 0)
{
后面还有 27 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
