DataAnnotationsとValidation属性を使用して検証を実行しています。ADO NETエンティティモデル、ドメインサービス、RIAサービス、Silverlightを使用しており、プロジェクトにはASP.NETのサーバー側があります。
クロステーブル検証を実行したいのですが、CustomValidationメソッドからエンティティテーブルにアクセスするにはどうすればよいですか。
例を挙げて説明しましょう。
データ内で同じ名前の2つの会社を避けたいとします。
(追加されたコメントへの応答方法がわからないため、質問を編集しています。実際に必要なものではあり ません。アプリケーションのサーバー側にあるカスタム検証方法のデータにアクセスしたいだけです。)
私は飾る:
[CustomValidation(typeof(CustomValidatorType), "CompanyNameValidation")]
public string CustomerName { get; set; }
その場合、CustomValidatorTypeは次のようになります。
public static class CustomValidatorType {
public static ValidationResult CompanyNameValidation(string companyName,
ValidationContext validationContext) {
// How can I see if companyName is already present in Customers entity table?
if (*Company name already exists*) {
// How can I access the Customer Entity Table to check the Company Name existence?
return new ValidationResult("Comapny already exists.", new[] { "CustomerName" });
}
else
return ValidationResult.Success;
}
}
前もって感謝します
よろしくお願いします
ラファエル