2014-12-29 82 views
2

我有一個簡單的疑問,但我無法解決它。不驗證MVC上的日期字段

我有一個類像上面:

public class TB_Cliente_Fisica 
{ 
    public int IDCliente { get; set; } 
    public string Nome { get; set; } 
    public string CPF { get; set; } 
    public string RG { get; set; } 
    public string Sexo { get; set; } 
    public System.DateTime dataNascimento { get; set; } 
} 

並且,在視圖中,我有日期時間字段以下代碼:

@Html.TextBoxFor(model => model.dataNascimento, new { @class = "dataNascimento", placeholder = "Data nascimento" }) 

而且它產生以下標記:

<input class="dataNascimento" data-val="true" data-val-date="The field dataNascimento must be a date." data-val-required="O campo dataNascimento é obrigatório." id="TB_Cliente_Fisica_dataNascimento" name="TB_Cliente_Fisica.dataNascimento" placeholder="Data nascimento" type="text" value="" autocomplete="off"> 

而當用戶提交表單時,它會驗證此字段。

但我想讓用戶離開這個領域是空的,如果他想。我該怎麼做?爲什麼它需要這個領域?

+0

因爲你沒有把它設置爲可以爲空?或者嘗試在你的模型中'設置'它爲**之前的默認值如果(modelstate.IsValid)**被稱爲 – jbutler483

回答

3

使用可空屬性

public System.DateTime? dataNascimento { get; set; } 
+0

它確實工作!但我使用實體框架通過數據庫生成類。如果我必須修改圖表,它將取代課程中的更改,而且我必須每次都更新它,對嗎?還有另一種方法可以做到嗎? –

+1

在db爲空的Маке字段,這將生成可爲空的字段。 –

+0

當然,我不敢相信我沒有想到..謝謝你的幫助! :) –