2010-12-04 5 views
6

Dans mon modèle de vue j'ai l'attribut suivant:ASP.net MVC Annotations données DateTime Valeur par défaut

[Required] 
[DataType(DataType.Date, ErrorMessage="Please enter a valid date in the format dd/mm/yyyy")] 
[Display(Name = "Date of Birth")] 
public DateTime DOB { get; set; } 

À mon avis j'ai les suivantes:

<div class="editor-label"> 
    @Html.LabelFor(model => model.DOB) 
</div> 
<div class="editor-field"> 
    @Html.EditorFor(model => model.DOB) 
    @Html.ValidationMessageFor(model => model.DOB) 
</div> 

Avant de soumettre le formulaire par défaut value for DOB is 1/01/0001 comment est-ce que j'arrête cette valeur étant auto peuplée, je veux simplement un champ vide quand les gens visitent ce formulaire?

Répondre

7

Je crois que vous devrez utiliser le DateTime nullable? type. DateTime ne peut pas être nul, donc il aura toujours une valeur.

6

Essayez de faire la annulable date de naissance DateTime comme @Mayo déclare:

public DateTime? DOB { get; set; } 
1

DateTime est de type struct. Ainsi, par défaut DateTime ne peut pas être nul. Sa valeur par défaut est égale à "01/01/0001". La solution à votre problème est d'utiliser le DateTime nullable? type. Si vous souhaitez que la valeur par défaut soit '01/01/2014 ', vous pouvez attribuer une valeur comme: DOB = new DateTime (2014, 01, 01);

Questions connexes