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