3

私は3つのエンティティを持っています。

イベントエンティティと、2つの「派生」エンティティ(事故、修理)があるとします。

これらは、イベントエンティティにいくつかの追加フィールドを提供します。

イベントは常に必要であるため、[]属性でマークしStartDateます。それで大丈夫です。ただし、イベントがであるかどうかをチェックする追加の検証ロジックがいくつかあり、他のいくつかのイベントフィールドも必要です。このために、カスタムバリデーターを提供します。EndDateRequiredRepair

問題は、[]属性でマークされたプロパティが、Required他のバリデーターの前に常にチェックされることです。

私が達成したいこと: イベントの場合、Accident私は必須にしたいEvent.SomeFieldです。検証の概要には、最初の検証試行時に3つの検証エラーが含まれていることが表示されます。

現在の動作: イベントが最初の検証の試行である場合、[ ]Accidentとしてマークされた2つのプロパティの2つのエラーが表示されます。Requiredそれらを入力した後でのみ、次の検証試行でカスタムバリデーターが起動され、3番目のEvent.SomeFieldも必要であることが示されます。

すべての必須フィールドを同時に検証する必要があります。

これは可能ですか?これを達成する方法は?

4

1 に答える 1