ASP.net验证控件如何工作?

时间:2015-12-04 18:57:09

标签: asp.net validation

我对ASP.net中的客户端和服务器端验证感到困惑。

我知道客户端验证在客户端验证,asp.net validation controls是服务器端控件。但是,如果我将其应用于任何服务器端控件(如<asp:textbox>并应用RequiredFieldValidator),它会立即像客户端控件一样进行验证。所有其他asp验证控件立即验证,无需回发到服务器。

那么如果不回发到服务器怎么办呢?

2 个答案:

答案 0 :(得分:2)

即使ASP.NET服务器理论上在服务器上验证,它们也将在客户端上验证。来自Microsoft's documentation

  

如果用户正在使用支持动态HTML的浏览器   (DHTML),ASP.NET验证控件可以使用执行验证   客户端脚本。因为控件可以提供即时反馈   没有往返服务器,用户体验页面   增强了。

     

在大多数情况下,您不必进行任何操作   更改您的页面或验证控件以使用客户端   验证。控件会自动检测浏览器是否支持   DHTML并相应地执行检查。客户端验证   使用与服务器端验证相同的错误显示机制。

答案 1 :(得分:0)

如果您在视图中使用HTMLHelper,它将自动插入来自例如模型的DataAnnotation。在客户端(以及服务器端)再次检查必需,MaxLength等内容。