0

在 MVC 3 中,它具有 DataAnnotations 以及用于在客户端进行验证的自定义验证。但我可以使用 Jquery 或 Javascript 将自己的验证写入 .js 文件。我的意思是我使用脚本标签和 type=text/javascript。那么我应该使用哪一个,MVC3 中的那个还是另一个?

4

2 回答 2

1

MVC 的数据注释在客户端使用 jquery 验证。关键是您使用一种方法进行验证,并且它适用于服务器和客户端。

您永远不想只进行客户端验证,因为恶意攻击者可以绕过您的 javascript 并发送非法值。客户端验证对用户来说是一件好事,但不应该在没有服务器端验证的情况下使用。

MVC 对数据注释都进行了处理,您只需在一个地方处理它。

于 2012-09-09T07:16:24.930 回答
0

正如 Mystere Man 所指出的,只需使用 MVC 的数据注释,因为它同时进行客户端和服务器端验证。

您的问题有点模糊,但根据您对 Mystere Man 的评论,我想您想知道如何自己更改验证消息?@Html.ValidationSummary()如果是这样,您可以使用类似的消息超载

@Html.ValidationSummary(false, "My error message")

在您的模型上,您可以使用如下属性为每个模型创建自定义消息:

[Required(ErrorMessage = "Please enter your name, this will not be displayed to others.")]
public string Name { get; set; }

您还可以创建自定义验证,例如必须选中复选框(因为该[Required]属性并不意味着bool必须是true。)要做到这一点以及更多,需要更多的工作,但在默认验证中非常可行。

于 2012-09-09T15:41:47.937 回答