ビューモデルで [RequiredIf] 属性を使用できるように、 Foolproof Validationを使用しています。問題は、コントローラーの外側で同じロジックを使用して、コード内で検証をトリガーしたいということです。
独自の検証コンテキストを作成し、Validatior.TryValidateObject; を使用してみました。ただし、Foolproof のカスタム RequiredIf バリデーターでは失敗します。モデルをコントローラーに渡す以外に、モデルを取得して検証する方法はありますか?
間違ったアプローチを使用していますか?
これが私のコードです:
var draftModel = _draftHelper.LoadDraft(draftId);
var validationResults = new List<ValidationResult>();
var vc = new ValidationContext(draftModel, null, null);
var isValidDraft = Validator.TryValidateObject(draftModel, vc,
validationResults, true);
そして、私が得るエラーはTryValidateObject行にあります
System.NotImplementedException: メソッドまたは操作が実装されていません。