2012-10-19 306 views
0

当我们在ASP.NET中有一些控件时,当然最好使用客户端和服务器端验证。出于可用性目的的客户端,以及用于安全目的的服务器端。如何维护服务器端验证和客户端验证

但是,这很容易变得相当丑陋。当然,如果您的验证是长度检查或正则表达式,则很容易维护。但是,假设您的验证更先进 - 该怎么办?

一种方法是在服务器代码和Javascript中实现完全相同的功能。另一种方法是用相同的逻辑调用web服务,但是你的AJAX调用必须是同步的,这通常是不好的做法。

那么,我的问题是,执行这两个服务器端和客户端验证的最佳方式是什么?

+0

我觉得对此没有简单的答案。当你尝试做这两件事情时,它会变得混乱。 – danyim

回答

1

您的ajax调用不必是验证同步的;它只是需要快速:

  • 当用户关闭标签字段,比方说,一个Ajax调用该服务取得并现场显示旁边有一个微调,表明服务器验证数据。
  • 如果服务返回成功,则微调控制器将被替换为绿色复选标记。
  • 如果服务返回失败,则显示一个红色的X,可能带有解释性文本。
  • 当用户最终点击提交时,相同的验证发生在服务器上(同步或不同步)。

另一种选择(除了@ user133811的使用JS是两个地方)是找到一个交叉编译器,它将编译你选择的语言到JavaScript。但是,这些可能或不可用。

我一般发现,在客户端上做复杂的验证是不必要的,也是不可取的。是的,让我知道一个字段是必需的,或者如果用户名存在(通过ajax)或简单的事情,但如果这是一个复杂的抵押贷款应用程序或什么的,我希望我必须提交之前发现我需要包括我的W2,如果我宣布我的宠物金鱼是共同签署人(或其他任何人,你明白这一点)。

-1

服务器和客户端的相同代码将意味着您的服务器需要使用JS。节点可能是你可能使用的东西。

相关问题