DatePicker jQuery UI と同じ体験ができる簡単なアプリケーションをアップロードしました: DatePickerValidationMvc : http://sdrv.ms/17tS25J
UI で jQuery UI DatePicker を使用しています。マークアップとスクリプトは次のようになります。
@Html.TextBoxFor(model => model.ExpireDateTime, new { id = "expiration-date", @Value = Model.ExpireDateTime.ToString("dd-MM-yyyy") })
<script type="text/javascript">
$(function () {
$('#expiration-date').datepicker({ dateFormat: 'dd-mm-yy' });
});
</script>
私はリモート検証を使用しており、モデルの属性は次のようになります。
[Remote("IsDateBetweenDateRangeAction", "Home", HttpMethod = "POST")]
Visual Studio のデフォルトの MVC 4 テンプレートを使用しています。したがって、これらのスクリプトを参照しています。
jquery-1.8.2.js jquery-ui-1.8.24.js
生成されるマークアップは次のようになります。
<div class="editor-field">
<input Value="13-09-2015" data-val="true" data-val-date="The field Expiration Date (DD-MM-YYYY) must be a date." data-val-remote="'Expiration Date (DD-MM-YYYY)' is invalid." data-val-remote-additionalfields="*.ExpireDateTime" data-val-remote-type="POST" data-val-remote-url="/Home/IsDateBetweenDateRangeAction" data-val-required="The Expiration Date (DD-MM-YYYY) field is required." id="expiration-date" name="ExpireDateTime" type="text" value="13-09-2015 09:57:14" /><br />
<span class="field-validation-valid" data-valmsg-for="ExpireDateTime" data-valmsg-replace="true"></span>
</div>
面白いことに、DatePicker 検証で日付を変更すると、2 回ごとにだまされます。
この経験をしたのは私だけではないようです: https://stackoverflow.com/questions/11341110/jquery-datepicker-only-every-second-click-event-fires
2 回目だけでなく、日付が変更されるたびに検証メソッドを呼び出す方法を知っている人はいますか?
DatePicker jQuery UI と同じ体験ができるシンプルなアプリケーションをアップロードしました: DatePickerValidationMvc: http://sdrv.ms/17tS25J