我想在泛型类中验证我的模型类,因为我不想在输入时每次检查每个方法。这是我制作了一个通用类,但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
是我为特定类型的响应制作的自定义类。提前谢谢。
答案 0 :(得分:0)
并非ModelState
不起作用,如果您的模型状态无效,则使用ModelState.IsValid
方法时,它会抛出错误或做您想做的任何事情。
你的是返回null,因此选择else子句而不是ModelState
检查的内部if。
至于为什么我不可能知道,因为你没有分享更多的代码。