2017-06-17 5 views
0

Ich habe eine Eigenschaft im Hinblick Modell:DataAnnotation und Wert standardmäßig

[Display(Name = "Date")] 
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")] 
    public System.DateTime DateTime { get; set; } 

und Aussicht:

<div class="form-group"> 
     @Html.LabelFor(model => model.DateTime, htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.EditorFor(model => model.DateTime, new { htmlAttributes = new { @class = "form-control" } }) 
      @Html.ValidationMessageFor(model => model.DateTime, "", new { @class = "text-danger" }) 
     </div> 
    </div> 

und Seite zeigt den Standardwert als 01.01.0001 auf Form:

enter image description here

Ich möchte keinen Standardwert haben (Benutzer sollte korrekten Wert angeben und kann nicht fo senden ohne es). Wie entferne ich den Standardwert?

+1

Machen Sie die Eigenschaft 'DateTime?' (Nullable), fügen Sie das '[Required]' Attribut hinzu und ändern Sie das Format zu 'DataFormatString =" {0: yyyy-MM-dd} "' (der HTML-5 Browser benötigt ISO Format, welches dann im Browserformat angezeigt wird) –

Antwort

1

Sie müssen veröffentlichen System.DateTime DateTime { get; set; } ein NullableDateTime.

Verwandte Themen