以下に示すように、DateTime 型のモデルの生年月日プロパティに接続された jQuery 日付ピッカー コントロールがある ASP.NET MVC4 (Razor ビュー)/JQuery アプリケーションに取り組んでいます。
Html.TextBoxFor(m=>m.DOB, new { @class = "dp", id = "dp1",value="" })
Jクエリコード:
$(function() {
$("#dp1").datepicker({
yearRange: "-70:+0",
duration: '',
changeMonth: true,
changeYear:true,
showTime: false,
constrainInput: true,
dateFormat: 'dd-mm-yy'
});
});
モデル:
[Display(Name = "Date Of Birth")]
public DateTime DOB { get; set; }
モデル定義に示されているように、DOB プロパティを Required 属性で装飾していません。問題は、送信ボタンを押すと、バリデーターが常に不平を言うことですがDOB is required
、そうではありません。TextBoxFor の代わりに Html.TextBox を使用することで、この問題を回避できました。ただし、このシナリオでは TextBoxFor を使用する必要があります。