【发布时间】:2014-10-11 15:59:36
【问题描述】:
我试图了解使用之间的主要区别是什么
[DataType(DataType.EmailAddress)] & [EmailAddress]。
在模型类中:-
public class MYViewModel {
[DataType(DataType.EmailAddress)] OR [EmailAddress]
public string Email { get; set; }
我做了一个测试,这两个属性将执行以下操作:-
将阻止用户添加无效的电子邮件地址
会将值显示为“EmailTo:...”
但是我在功能方面找不到任何差异,当然如果我使用html.TextboxFor 那么Datatype 将没有任何效果,而如果我使用html.EditorFor 那么Datatype 数据注释将起作用, ,但我说的是技术实现方面的差异?
【问题讨论】:
-
This post 应该很有帮助。前者与
EditorFor客户端(html5email字段)一起“工作”,后者较新并且还进行服务器端模型验证。 -
所以两者都会做服务器端验证?
-
并且两者都将进行验证以防止无效的电子邮件地址.. 虽然根据 MSDN,DataType 属性主要用于格式化而不是验证,......所以如果 MSDN 没有说话,就没有 tsute关于 Datatype.EmailAddress 因为它还会进行验证?你能建议吗?
标签: asp.net asp.net-mvc asp.net-mvc-5 data-annotations