【发布时间】:2015-05-12 14:24:04
【问题描述】:
我正在使用数据注释属性来为客户端验证提供元信息。以下代码将data-val-date属性正确添加到相应的html输入元素:
[DataType(DataType.Date)]
public DateTime? TestDate { get; set; }
我也有日期和时间输入字段,我想在那里应用不同的验证规则。但是,添加不同的 DataType 值不会改变呈现的输入元素:
[DataType(DataType.DateTime)]
public DateTime? TestDate { get; set; }
以 非常 相同的方式呈现,我的意思是它也呈现 data-val-date 属性,因此在客户端,这两种输入验证是无法区分的。
作为奖励使用
[DataType(DataType.Time)]
public DateTime? TestDate { get; set; }
呈现 no data-val 属性。
那么不同的DataType属性有什么用呢?更重要的是,如何正确渲染 data-val-datetime 和 data-val-time 属性? (我将使用 jQuery 验证在客户端以自定义方式处理)
【问题讨论】:
-
我觉得还是用正则表达式验证比较好
[RegularExpression("pattern")] -
相信这个问题的答案会对你有所帮助:stackoverflow.com/questions/5390403/…
-
@MikeDebela:在这样的场景中使用正则表达式验证的一个大问题是本地化。日期/时间格式在全球范围内变化很大,尝试在正则表达式中容纳每个潜在输入有点像噩梦。
标签: c# jquery asp.net asp.net-mvc validation