Comment permettre à la valeur null dans des nullable DateTime .NET MVC3 formulaire HTML?

J'ai essayé:

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

et

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

et toutes les combinaisons avec et sans ConvertEmptyStringToNull et AllowEmptyStrings.

En vue, j'ai:

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

Je peux soumettre le formulaire avec une date valide, mais avec une chaîne vide dans ce domaine, il est rouge et la forme ne peut être soumis.
Comment permettre la soumission d'un formulaire HTML avec la valeur null ou une chaîne vide, la valeur requise nullable DateTime?

Il sonne comme une contradictio in terminis. Si le champ est Obligatoire pourquoi est-il nullable? Vous êtes à la recherche d'un moyen d'exprimer DateTime.Est-il vide? L'exigence est source de confusion.
DateTime.Vide, ce serait bien.
Une "obligation nullable" champ n'a pas de sens, ce qui est probablement la raison pour laquelle vous ne pouvez pas le tenir dans la façon dont MVC œuvres. Cela dit, en supprimant l'attribut obligatoire devrait faire l'affaire, non?

OriginalL'auteur Hogan | 2011-03-13