2014-12-29 79 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

当然,我不敢相信我没有想到..谢谢你的帮助! :) –