ich das folgende Attribut zu erstellen:Datatype zeigt die falsche Botschaft
public class SpecificDataTypeAttribute : DataTypeAttribute
{
public SpecificDataType(DataType dataType, string field)
: base(dataType)
{
this.ErrorMessage = string.Format("{0} {1}", field, Messages.SpecificDataTypeAttribute);
}
}
Und verwenden wie:
[SpecificDataType(DataType.DateTime, "Initial date")]
public DateTime? InitialDate { get; set; }
die Botschaft also, die in Messages.SpecificDataTypeAttribute
ist "is in a incorrect format."
ist. Wenn ich ein falsches Datum in InitialDate eingab, erhielt ich den Standardfehler: "The value '12' is not valid for InitialDate."
. Warum? Ich habe den Breakpoint gesetzt und der Code ruft den SpecificDataType ctor auf.
Ich würde vermuten, dass es ist, weil 'DateTime?' In der Tat 'Nullable' und nicht einfach alt 'DateTime' ist. Sehen Sie, ob es funktioniert, wenn Sie das Anfangsdatum als public DateTime InitialDate {get; set;} definieren. –
Nichts wurde geändert. Hält mit demselben Fehler. –
Ah, ich habe deine Frage nicht wirklich mit Verständnis gelesen :) Mein vorheriger Kommentar kann zerkratzt werden. Wie auch immer, das Beste, was ich jetzt habe, ist eine düstere Theorie und keine Ahnung, wie man das Problem umgehen kann. Also überlasse ich das Thema Leuten, die schlauer sind als ich. :) –