A validação do DateTimePicker não está funcionando corretamente

Em primeiro lugar, usei esta solução para o meu problema:Validação de data do jQuery MVC 4 .Net 4.5.1 Data do Reino Unido "deve ser uma data" Erro

Quando publico um modelo válido, tudo funciona bem.Quando publico um modelo inválido sem data, ele também é válido.Mas quando eu publico um modelo inválido com data, ele termina por exceção: Referência de objeto não definida para uma instância de um objeto.

Aqui está o campo de data no modelo:

[DataType(DataType.DateTime)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy HH:mm}")]
[Display(Name = "Date")]
public DateTime Date{ get; set; }

Aqui está o código em create.cshtml

<div class="form-group">
        @Html.LabelFor(model => model.Date, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.TextBoxFor(model => model.Date, "{0:dd.MM.yyyy HH:mm}", new { @Value = ViewBag.Date, @class = "form-control", @id = "datetimepicker" })
            @Html.ValidationMessageFor(model => model.Date, "", new { @class = "text-danger" })
        </div>
    </div>

Javasript em layout.cshtml:

<script type="text/javascript">
jQuery('#datetimepicker').datetimepicker({
    format: 'd.m.Y H:i',
    lang: 'cs',
    dayOfWeekStart: 1
});

E aqui está a validação da data do jQuery reformulada:

date: function (value, element) {
$.culture = Globalize.culture("cs-CZ");
var date = Globalize.parseDate(value, "dd.MM.yyyy HH:mm","cs-CZ");
        return this.optional(element) ||
                       !/Invalid|NaN/.test(new Date(date).toString());
},

EDITAR: então finalmente fiz o trabalho alterando a função date para uma expressão regular como esta:

return value.match(/^(0?[1-9]|[12][0-9]|3[0-1])[/., -](0?[1-9]|1[0-2])[/., -](19|20)?\d{2} ([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/);

questionAnswers(0)

yourAnswerToTheQuestion