2015-05-04 41 views
0

我的MVC3網站使用jQuery datepicker字段,例如讓用戶選擇他的出生日期。輸入的值在發佈表單後在控制器中進行驗證,以確保年齡在18歲以上。這是行得通的,除了datepicker在回發到第一個可用有效日期之後更改了無效日期這一事實。Datepicker字段'修復'回發後的日期

提交表格,例如11-11-2000返回一個模型錯誤'您至少需要18歲'。該模型再次被綁定到字段上,但日期選擇器不是輸入日期,而是將其更改爲18年前的今天,也就是04年5月5日。

我該如何保持用戶輸入的原始日期不會過於冒險?

+0

你需要設置'MAX-date'到'-18'年在'datepicker'這樣它就不會設定任何未來的日期! –

+0

即使在日曆中無法選擇,仍然可以使用鍵盤輸入不正確的日期。 – MeanGreen

+1

那麼你可以使輸入'只讀'! –

回答

1

在這裏你走了!

DEMO

的js

$(document).ready(function(){ 
    var today=new Date(); 
    var year=today.getFullYear()-18; 
    var month=today.getMonth()+1; 
    var day=today.getDate(); 
    var newDate=new Date(month +'/' +day + '/' +year); 
    $('#txtFromDate').datepicker({ 
     maxDate: newDate 
    }); 

}); 

HTML

DOB: <input type="text" id="txtFromDate" readonly /> 
相關問題