我对ASP.net中的客户端和服务器端验证感到困惑。
我知道客户端验证在客户端验证,asp.net validation controls
是服务器端控件。但是,如果我将其应用于任何服务器端控件(如<asp:textbox>
并应用RequiredFieldValidator
),它会立即像客户端控件一样进行验证。所有其他asp验证控件立即验证,无需回发到服务器。
那么如果不回发到服务器怎么办呢?
答案 0 :(得分:2)
即使ASP.NET服务器理论上在服务器上验证,它们也将在客户端上验证。来自Microsoft's documentation:
如果用户正在使用支持动态HTML的浏览器 (DHTML),ASP.NET验证控件可以使用执行验证 客户端脚本。因为控件可以提供即时反馈 没有往返服务器,用户体验页面 增强了。
在大多数情况下,您不必进行任何操作 更改您的页面或验证控件以使用客户端 验证。控件会自动检测浏览器是否支持 DHTML并相应地执行检查。客户端验证 使用与服务器端验证相同的错误显示机制。
答案 1 :(得分:0)
如果您在视图中使用HTMLHelper,它将自动插入来自例如模型的DataAnnotation。在客户端(以及服务器端)再次检查必需,MaxLength等内容。