服务器端/客户端或两者都用户输入验证

时间:2009-05-12 11:30:33

标签: asp.net validation

当我想给客户端“助手”验证时,例如密码不够长,电子邮件格式不正确,以及服务器端验证和返回错误(例如用户名)时,在您的网站上使用验证的最佳方法是什么?存在并且客户端和服务器验证消息在视觉上以相同的最小重复次数显示给用户。

4 个答案:

答案 0 :(得分:7)

可以轻松规避客户验证。无论客户端验证如何,都应始终验证服务器上的敏感数据。在客户端上验证它们只是改善用户体验的问题。

BTW,ASP.NET验证控件同时执行这两项操作。

答案 1 :(得分:1)

最好的混合解决方案通常是集中验证服务器端,并依赖客户端调用服务器端的东西。这有许多优点:

  • 您只需在服务器上编写一次验证码。
  • 可以规避客户端验证,但这无关紧要;无论如何,服务器正在检查所有内容。
  • 您可以在不增加任何开发成本的情况下获得改善的用户体验。

主要的缺点是你支付的验证处理费用是原来的两倍,但这并不太苛刻。

答案 2 :(得分:0)

您无法确定是否真的发生过客户端验证等问题。如果javascript在客户端不可用(无脚本或禁用JavaScript),它永远不会运行。在进行任何进一步处理之前,您应该使用以下代码在页面上调用validate方法:

if(!IsValid)
{
    //inform your user about error(s)
    return;
}

//do further processing

如果您有验证组,则可以使用组名称调用validate方法:

if!(Validate("groupName"))
{
    //inform your user about error(s)
    return;
}

//do further processing

答案 3 :(得分:0)

最好的方法是使用ASP.NET验证控件将简单的“提示”呈现为客户端(如Mehrdad所述,这些将提供客户端和服务器端验证),然后将CustomValidators用于需要服务器的元素交互,例如验证用户名等。