エンティティの検証を定義する。
エンティティの元になるTableRowデータの検証は継承元に任せ、他のビジネスルールに基づく検証を定義する。
table | エンティティの基本クラスデータ。使用する場合にはこのクラスが操作するエンティティクラスにキャストする。 |
properties | tableに対応するTableProperties。 |
errorMessages | 検証中のエラーメッセージを保持する。 |
必要なプロパティを定義する。
必要に応じてコンストラクタを定義する。
このエンティティに対する操作を定義する。
Validate | base#Validate()を呼び出した後,独自の検証を実行する。エラーメッセージはerrorMessagesに追加する。 |
Validate | 保持しているTableRowインスタンスの検証を実行する。 |
namespace FxTravel.Maintainance.Area.Validators
{
/// <summary>
/// 都市検証
/// </summary>
public class CityValidator : MstCityTableInputForm
{
///<summary>デフォルト構築</summary>
public CityValidator() : base()
{
}
///<summary>エンティティを受け取る構築</summary>
public CityValidator(City city) : base()
{
this.table = city;
}
///<summary>エンティティとTablePropertiesを受け取る構築</summary>
public CityValidator(City city,MstCityTableProperties properties) : base()
{
this.table = city;
this.properties = properties;
}
///<summary>検証のオーバーライド</summary>
public override bool Validate(){
bool valid = base.Validate();
//valid == falseの時以降の検証が無駄ならばそのまま戻ってよい。
if(!valid) return valid;
//このクラス独自の検証を記述
// ...
}
}
}