In my model I have the following DataAnnotations on one of my properties
[Required(ErrorMessage = "*")] [DisplayFormat(DataFormatString = "{0:d}")] [DataType(DataType.Date)] public DateTime Birthdate { get; set; }
The required annotation works great, I added the other 2 to try and remove the time. It gets bound to an input in the view using
<%=Html.TextBoxFor(m => m.Birthdate, new { @class = "middle-input" })%>
However whenever the view loads I still get the time appearing in the input box. Is there anyway to remove this using DataAnnotations?
The [DisplayFormat] attribute is only used in EditorFor/DisplayFor, and not by the raw HTML APIs like TextBoxFor.
As Brad said it dosn't work for TextBoxFor but you'll also need to remember to add the ApplyFormatInEditMode if you want it to work for EditorFor.
[DataType(DataType.Date), DisplayFormat( DataFormatString="{0:dd/MM/yy}", ApplyFormatInEditMode=true )] public System.DateTime DateCreated { get; set; }
Then use
@Html.EditorFor(model => model.DateCreated)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With