Ich habe seltsames Problem. Meine Datumsüberprüfung funktioniert in Chrome nicht. Ich habe versucht this Antwort, aber es hat nicht für mich funktioniert.Das Feld muss ein Datum sein - DatePicker-Validierung schlägt in Chrome fehl - mvc
Ich habe dies in meinem Modell:
[Display(Name = "Date")]
[DataType(DataType.Date)]
public DateTime Date { get; set; }
Meine Ansicht:
<div class="editor-field">
@Html.TextBoxFor(model => model.Item.Date, new { @class = "picker" })
@Html.ValidationMessageFor(model => model.Item.Date)
</div>
$(document).ready(function() {
$('.picker').datepicker({
dateFormat: 'dd.mm.yy',
changeMonth: true,
changeYear: true,
selectOtherMonths: true
});
});
Alles funktioniert in Opera und Firefox, aber Chrome nicht über diese Art von Datum mag. Ich bekomme ständig den folgenden Fehler The field 'Date' must be a date
.
Irgendwelche Ideen?
UPDATE
Es scheint, dass es ein Problem ist, wenn der Code in einer Teilansicht ist. Wenn ich diesen Code auf eine Hauptseite kopiere, funktioniert die Validierung einwandfrei.
Ich bin Einfügen Teilansicht in meinem Hauptansicht einfach wie folgt aus:
@Html.Partial("_CreateOrEdit", Model)
Und das obige Code ist in einer Teilansicht:
@model Pro.Web.Models.Model
<div class="editor-field">
@Html.TextBoxFor(model => model.Item.Date, new { @class = "picker" })
@Html.ValidationMessageFor(model => model.Item.Date)
$(document).ready(function() {
$('.picker').datepicker({
dateFormat: 'dd.mm.yy',
changeMonth: true,
changeYear: true,
selectOtherMonths: true
});
</script>
});
UPDATE2
Es funktioniert schließlich nicht. Manchmal funktioniert es, manchmal nicht. Ich habe ein paar Mal auf Termine geklickt und manchmal die Gültigkeitsprüfung bestanden. Für das gleiche Datum könnte eine gute und eine falsche Validierung vorliegen.
Dies ist Ausgabe html für Datumsfeld:
<div class="editor-field">
<input class="picker" data-val="true" data-val-date="The field Date must be a date." data-val-required="The Date field is required." id="date" name="Item.Date" type="text" value="1.1.0001. 0:00:00" />
<span class="field-validation-valid" data-valmsg-for="Item.Date" data-valmsg-replace="true"></span>
</div>
Mögliche dup: http://stackoverflow.com/questions/5966244/jquery-datepicker-chrome –
@ DavidTansey - Das ist die gleiche Antwort wie in meinem ersten Absatz. Ich habe es versucht, aber es war immer noch dasselbe. – Cristiano
Entschuldigung wegen dup/dup. –