3

MVC でデータをモデル化するために使用しているクラスがあります。必須のフィールドをマークするためにいくつかの DataAnnotations を追加し、正規表現を使用して有効な電子メール アドレスを確認しています。オブジェクトが MVC にポストバックされ、クラスが有効であることを確認するためにチェックできる ModelState プロパティがある場合、すべてが正常に機能しますが、同じクラスとデータ注釈を使用してクラスが MVC の外部で有効かどうかを確認するにはどうすればよいですか?私はすでに設定していますか?

4

2 に答える 2

2

注釈付きオブジェクトのすべてのエラーを取得するために過去にデータ注釈で使用した方法を次に示します (いくつかの改善を使用できますが、これは良い出発点です:

public static IEnumerable<ErrorInfo> GetErrors(object instance)    
{
   return from prop in TypeDescriptor.GetProperties(instance).Cast<PropertyDescriptor>() 
      from attribute in prop.Attributes.OfType<ValidationAttribute>()
      where !attribute.IsValid(prop.GetValue(instance))
      select new ErrorInfo(prop.Name, attribute.FormatErrorMessage(String.Empty), instance);    
}
于 2009-12-04T15:43:33.727 に答える
0

.NET3.5には何も組み込まれていないようです。ただし、.NET 4に対して開発できる場合は、必要なものを提供するValidatorクラスがあります。

MSDNのバリデータークラス

于 2010-03-25T18:32:49.883 に答える