次の属性を作成します。
public class SpecificDataTypeAttribute : DataTypeAttribute
{
public SpecificDataType(DataType dataType, string field)
: base(dataType)
{
this.ErrorMessage = string.Format("{0} {1}", field, Messages.SpecificDataTypeAttribute);
}
}
そして次のように使用します:
[SpecificDataType(DataType.DateTime, "Initial date")]
public DateTime? InitialDate { get; set; }
だから、入っているメッセージMessages.SpecificDataTypeAttribute
は"is in a incorrect format."
. InitialDate に間違った日付を入力すると、デフォルトのエラーが発生しました: "The value '12' is not valid for InitialDate."
. なんで?ブレークポイントを配置すると、コードは SpecificDataType ctor を呼び出しています。