I agree with @bAN - the most user friendly way is to use a datepicker. Users with javascript disabled will have to write the dates manually into the textbox. You can also detect disabled javascript and do a fallback to a version without the datepicker in that case.
If you really want 3 input fields, you have a few options though. You need 3 properties on your model int day; int month; int year;. When you receive the data from the client, you will have to do the validation manually by trying to create a DateTime object. It will throw an exception if you specify an incorrect format:
try
{
var date = new DateTime(model.Year, model.Month, model.Day);
...
}
catch(ArgumentOutOfRangeException exception)
{
ModelState.AddModelError(...);
}
As a more pleasant user experience you can have 3 dropdowns instead. You can change the number of days depending on which month is selected and/or run validation at the client side.
/or space ? Or even '\'? And 3 fields with labels are clear to understand and so usable even when javascript is off.