こんにちは.NET Coreを使用してWebApiのカスタム検証応答を取得しようとしています。ここで流暢な検証でカスタム検証応答を使用する
私はバリデータクラスを持っており、現在、我々だけで検証エラーのためModalState.IsValidをチェックし、BadRequestようにModelStateオブジェクトに渡す
[{
ErrorCode:
ErrorField:
ErrorMsg:
}]
のような応答モデルを持っていると思います。
しかし、新しい要件では、検証の失敗ごとにErrorCodeが必要です。
マイサンプルバリデータクラス
public class TestModelValidator : AbstractValidator<TestModel>{
public TestModelValidator {
RuleFor(x=> x.Name).NotEmpty().WithErrorCode("1001");
RuleFor(x=> x.Age).NotEmpty().WithErrorCode("1002");
}
}
私は、検証結果に
OPT1得るために、自分の行動に類似したものを使用することができます。
var validator = new TestModelValidator();
var result = validator.Validate(inputObj);
var errorList = result.Error;
を、私のcustomnレスポンスオブジェクトにValidationResultを操作します。 または
OPT2:
I can use [CustomizeValidator] attribute and maybe an Interceptors.
が、OPT2のために、私はコントローラのアクションにインターセプタからValidationResultを取得する方法を知りません。
すべてのコントローラアクションメソッドでOpt1を呼び出して検証するのを避けるため、共通のメソッドを記述します。
リソースを修正するように要求してください。