5


5

Enterprise LibraryのValidation Application Blockが好きです。 :-)
asp.netの動的データも使用しているので、WinformsでDataAnnotationsを使用したいと思います。 会社全体に共通の技術があるように。 また、データ注釈も使いやすくなっています。

どうすれば http://weblogs.asp.net/stephenwalther/archive/2008/09/10/asp-net-mvc-tip-43-use-data-annotation-validators.aspx[StephenのようなWinformsの中で類似したことをすることができますウォルターはasp.net MVCの中でしましたか?

1 Answer


9


私はhttp://blog.codeville.net/category/validation/page/2/にある解決策を採用しました

パブリッククラスDataValidator {パブリッククラスErrorInfo {パブリックErrorInfo(文字列プロパティ、文字列メッセージ){this.Property =プロパティ; this.Message = message; }

パブリック文字列Message。 public stringプロパティ。 }

public static IEnumerable Validate(オブジェクトインスタンス){instance.GetType()内のpropから戻る。prop.GetCustomAttributes(typeof(ValidationAttribute)、true)内のattributeからGetProperties()ここで、!attribute.IsValid(prop.GetValue(prop.GetValue) instance、null))新しいErrorInfo(prop.Name、attribute.FormatErrorMessage(string.Empty))を選択します。 }}

これにより、次のコードを使用して、次の構文を使用して任意のオブジェクトを検証できます。

var errors = DataValidator.Validate(obj);

if(errors.Any())が新しいValidationException()をスローします。