检查c#泛型类中的ModelState
本文关键字:ModelState 泛型类 检查 | 更新日期: 2023-09-27 18:07:42
我想在泛型类中验证我的模型类,因为我不想在输入时每次都检查每个方法。这里是我做了一个通用类,但ModelState.IsValid
不工作。
public class Validator<T> where T : class
{
public ApiResponse ValidateInput(T t)
{
try
{
if (t != null)
{
if (!ModelState.IsValid)
{
return JsonResponse.GetResponse(ResponseCode.Failure, ModelState.Values.FirstOrDefault().Errors[0].ErrorMessage);
}
}
else
{
return JsonResponse.GetResponse(ResponseCode.Failure, ErrorMessage.InvalidRequest);
}
}
catch (Exception ex)
{
LogHelper.CreateLog(ex);
return JsonResponse.GetResponse(ResponseCode.Exception, ErrorMessage.Oops);
}
}
}
ApiResponse
是我为特定类型的响应所做的自定义类。
这不是说ModelState
不工作,而使用ModelState.IsValid
方法,如果你的模型状态无效,它会抛出一个错误或做任何你决定做的。
返回null,因此使用else子句而不是ModelState
检查的内部if。
至于为什么我不可能知道,因为你没有分享进一步的代码。