Hog*_*gan 7 asp.net-mvc datetime nullable required
我试过了:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}", ConvertEmptyStringToNull = true)]
[Required(AllowEmptyStrings = true)]
public DateTime? BirthDateFrom { get; set; }
Run Code Online (Sandbox Code Playgroud)
和
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
[Required]
public DateTime? BirthDateFrom { get; set; }
Run Code Online (Sandbox Code Playgroud)
和有和没有ConvertEmptyStringToNull和的所有组合AllowEmptyStrings.
在视图中,我有:
@Html.EditorFor(m => m.BirthDateFrom)
Run Code Online (Sandbox Code Playgroud)
我可以提交带有效日期的表单,但在该字段中有空字符串,它只是变红并且表单无法提交.如何在所需的可为空的DateTime中允许使用null或空字符串值的HTML表单提交?
类型可以为空的事实意味着该值不是必需的.强制执行非空值或空值没有意义,因为空值无论如何都不提供任何信息.
听起来你遇到的问题是"无效"的多重含义,例如"无"对"任何"对"未知".不幸的是,null的.NET概念不包括不同类型的null.沟通这个的唯一方法是使用: -
a)'sentinal'值,例如DateTime.MinValue传达特殊的东西,并且您确定DateTime.MinValue在您的域模型中永远不会是有效值.
B)使用外部标志,以指示丢失的意思DateTime的值,例如bool isAny,bool isUnknown等等,或也许是适当的枚举
| 归档时间: |
|
| 查看次数: |
16515 次 |
| 最近记录: |