public class Dinner
{
public string ID { get; set; }
public string Title { get; set; }
public Category Category { get; set; }
public DateTime? DateCreated { get; set; }
}
該類(重要部分)模型視圖是DataAnnotations
public class DinnerModelView
{
...
[UIHint("DatePicker")]
[DateTime(ErrorMessage = "Invalida date")]
public DateTime? DateCreated { get; set; }
}
哪裏DateTimeAttriburte是
public class DateTimeAttribute : ValidationAttribute
{
public DateTimeAttribute() : base (() => "Invalid date") { }
public DateTimeAttribute(string errorMessage) : base(() => errorMessage) { }
public override bool IsValid(object value)
{
if (value == null)
return true;
bool isValid = false;
if (value is DateTime)
isValid = true;
DateTime tmp;
if (value is String)
{
if(String.IsNullOrEmpty((string)value))
isValid = true;
else
isValid = DateTime.TryParse((string)value, out tmp);
}
return isValid;
}
}
但是模型狀態錯誤仍然說「值 'XXXX' 是無效的創建日期。」 我無法替換此消息。爲什麼?
ValidationAttribute的類型是什麼?您將一個lambda傳遞給基本ctor,但DataAnnotations ValidationAttribute沒有這樣的ctor。 – Haacked 2009-11-25 18:00:59
我正在使用mvc 2附帶的數據註釋程序集。以下是ValidationAttribute的構造函數: protected ValidationAttribute(); protected ValidationAttribute(Func errorMessageAccessor); protected ValidationAttribute(string errorMessage); –
2009-11-26 08:03:24