モデルクラスをジェネリッククラスで検証したいのは、入力中に各メソッドで毎回チェックしたくないからです。ここでは汎用クラスを作ったが、ModelState.IsValid
は機能しない。GenericクラスのModelStateを確認するC#
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
私は応答の特定のタイプのために作った私のカスタムクラスです。前もって感謝します。
[最小限の完全で検証可能な例](http://stackoverflow.com/help/mcve)を提供してください。 –
'ModelState'は' Controller'プロパティです。したがって、あなたは 'BaseController'にあなたの機能を実装し、継承するべきです。あなたのコードはコンパイルされていますか? –
コンパイルしていないわけではありませんが、ModelStateの後には何もありません。 IsValid私は自分自身を入れました –