我正在使用不显眼的 javascript 和数据注释进行验证,并且效果很好。我决定用 DataType 属性装饰我的视图模型属性。在大多数情况下,这很好,除了 DataType.EmailAddress
当我添加这个属性时,我突然在这个字段上获得了额外的验证,这会在字段上呈现一个调用,有点像 Ajax Control 工具包中的验证调用。只有样式与正在验证的元素的厚红色边框不同,标注如下。调用还显示未在我的视图模型中指定的消息。我用于验证的正则表达式有一条错误消息“您输入的电子邮件地址无效”,而标注中的消息是“您必须输入一个有效的电子邮件地址”。我已尝试在我的解决方案中搜索此文本,但未找到。最后,我加载的唯一脚本是:
<script src="/Public/javascript/jquery-1.9.1.js" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>
<script src="/Public/javascript/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
<script src="/Public/javascript/jquery.validate.js" type="text/javascript"></script>
<script src="/Public/javascript/jquery.validate.unobtrusive.js" type="text/javascript"></script>
和CSS:
<link href="/Public/themes/ui-darkness/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css" />
<link href="/Content/PagedList.css" rel="stylesheet" type="text/css" />
<link href="/Public/css/reset.css" rel="stylesheet" type="text/css" />
我还使用@Html.EditorFor 在整个视图中呈现我的所有字段。
任何人都可以阐明正在发生的事情吗?这个标注来自哪里?我可以禁用它吗?我可以使用它并将其用于我的其他领域吗?我应该删除 DataType.EmailAddress 吗?