修改User模块,同步原始代码

This commit is contained in:
chfei committed 2026-10-23 15:42:37 +08:00
1 parent 4a5fada435
commit 78b0c2bb2e
47 files changed
+2939 -193

No files matched your search

@@ -0,0 +1,27 @@
using System.ComponentModel.DataAnnotations;
namespace MAX.Framework.Validation;
/// <summary>通用请求校验入口,供各模块复用,不依赖 HTTP、数据库或具体业务。</summary>
public static class RequestValidator
{
/// <summary>
/// 检查对象非空,并验证全部属性上的数据注解及 IValidatableObject 规则。
/// 不递归验证子对象;对象为空抛出 ArgumentNullException,规则不满足抛出 ValidationException。
/// </summary>
public static void Validate(object? request)
{
ArgumentNullException.ThrowIfNull(request);
Validator.ValidateObject(request, new ValidationContext(request), validateAllProperties: true);
}
/// <summary>不抛出规则验证异常,适用于登录等需要自行处理校验结果的入口;对象为空仍视为调用错误。</summary>
public static bool TryValidate(object? request, out IReadOnlyList<ValidationResult> errors)
{
ArgumentNullException.ThrowIfNull(request);
var results = new List<ValidationResult>();
bool valid = Validator.TryValidateObject(request, new ValidationContext(request), results, validateAllProperties: true);
errors = results.AsReadOnly();
return valid;
}
}