1

ゲッターとセッターの使用に関しては、モデルの検証のベスト プラクティスは何だろうと思っていました。具体的には、モデルに null 許容フィールドがあり、一部のユース ケースでは、アクセス時に null 値を持つべきではありません。そのような場合、ゲッターから例外をスローしたいのですが、それは受け入れられている慣習ですか?

これは、setter で無効な値を受け取った場合にも当てはまります。

例外をスローする代わりに、フィールドを装飾するために使用できる MVC 属性を認識していますが、モデルの検証にはあまり使用していません。「この値はゲッターで null であってはなりません」というシナリオでは、使用できる適切な属性はありますか?

また、ゲッターとセッターで例外をスローすることが受け入れられる場合、スローする推奨される例外、つまり ValueNotValidException はありますか (それが実際の場合)?

4

2 に答える 2

0

オブジェクトを ViewModel として使用する場合は[NotNullValidator]、Microsoft のEnterprise Libraryによって指定された で注釈を付けることができます。また、ここRegexに示すように、検証、範囲、IgnoreNulls型などの追加機能を提供する他の多くのもので注釈を付けることができます。このステップバイステップ ガイドに基づいて、このライブラリを使用してカスタム バリデータを作成することもできます。これを使用して ViewModel に注釈を付けることができます。

それ以外の場合は、より伝統的なMVC データ注釈属性が残されます[Required]

于 2013-01-18T01:27:26.067 に答える
0

モデルを検証するには、標準のデータ検証属性を使用する必要があります。値が必須の場合 - [必須] を使用します。

http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-validation-to-the-model

if (ModelState.IsValid)
{
   ...
}

コードの保守が少なくなり、可読性が向上します。

于 2013-01-18T01:22:02.563 に答える