So ermöglichen Sie einen null-Wert in der erforderlichen nullable DateTime in .NET MVC3, HTML form?

Habe ich versucht:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}", ConvertEmptyStringToNull = true)]
[Required(AllowEmptyStrings = true)]
public DateTime? BirthDateFrom { get; set; }

und

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
[Required]
public DateTime? BirthDateFrom { get; set; }

und alle Kombinationen mit und ohne ConvertEmptyStringToNull und AllowEmptyStrings.

In Aussicht, die ich habe:

@Html.EditorFor(m => m.BirthDateFrom)

Kann ich senden Sie das Formular mit gültigen Datum, aber mit einem leeren string in das Feld, es geht nur rot und das Formular kann nicht gesendet werden.
Gewusst wie: zulassen von HTML-Formular-Vorlage, die mit null oder leere Zeichenfolge-Wert in den geforderten nullable DateTime?

  • Es klingt wie ein contradictio in terminis. Wenn das Feld Erforderlich ist, warum ist es null-Werte zulässt? Sind Sie auf der Suche nach einem Weg, um auszudrücken, DateTime.Leer? Die Anforderung ist verwirrend.
  • DateTime.Leere wäre schön.
  • Ein "erforderlich nullable" - Feld macht keinen Sinn, das ist wahrscheinlich, warum Sie passen nicht in, wie MVC funktioniert. Das heißt, entfernen Sie das required-Attribut sollte den trick tun, Nein?
InformationsquelleAutor Hogan | 2011-03-13
Schreibe einen Kommentar