asp.net表单验证。服务器端或客户端

时间:2010-03-22 02:46:02

标签: asp.net asp.net-ajax validation

这是(我认为)一个有趣的问题。

随着AJAX越来越普遍,我感觉越来越像在服务器端进行所有表单验证。

在AJAX之前想一张注册表。您拥有所有验证客户端使用常见的asp验证控件和验证总结...除了...检查用户名可用性,检查电子邮件地址可用性,验证码和什么不是。 因此,您最终会进行2种验证,因此在2个不同的时刻向用户呈现2个不同的UI。我想起了2个字。丑陋。不一致。

所以这就是问题所在。为什么不在服务器端进行所有验证(使用AJAX还是不使用)。

(我还没有使用JQuery,我应该吗?)

2 个答案:

答案 0 :(得分:3)

codeka是正确的。客户端验证可防止出现简单错误的服务器往返。

始终需要服务器端,因为您不能总是假设客户端验证是正确的。

答案 1 :(得分:2)

即使使用Ajax,如果错误是一个简单的拼写错误,我宁愿避免发布到服务器。就个人而言,如果您的客户端和服务器端验证导致呈现不同的错误消息,那么我认为这是您的问题,而不是两者之间的分歧。

话虽如此,当您输入文本时,没有理由不能 在服务器端使用Ajax进行验证。我已经看到很多表单在你输入你要求的名字时通过Ajax进行“用户名检查”(例如)。