2011-11-25 44 views
18

我有什么选择使用相同的JavaScript代码来验证客户端和服务器端(Node.js)?可在客户端和Node.js服务器上运行的JavaScript验证?

+1

我最终写了我自己的验证。 基本上我有一个模型,例如对其进行验证的人员。此人员模型既存在于客户端,也存在于服务器上。当用户在我的FORM上输入详细信息时,我填充Person对象并验证它,给不正确的字段提供反馈。 将表单发回服务器后,我重新填充Person对象并使用从客户端接收的值重新验证。如果发生错误,我只是将它发回客户端。 这样我就可以在客户端和服务器上重复使用同一个模型,运行单元测试并用jquery显示错误。 –

回答

-14

无,您在服务器端验证完全不同的标准。客户端验证纯粹是用户接受标准,与安全无关。服务器端验证几乎完全关注安全性。

+10

我不同意。忽略XSS和其他注入,我仍然想验证一个表单字段长度为X个字符并且是邮政编码。否则,没有任何东西可以阻止我进入Firebug并更改提交给服务器的值。 在客户端和服务器上使用JavaScript都意味着代码被重用。这将是愚蠢的不是。 –

+0

XSS和其他注入漏洞不容忽视,所以你的观点是无关紧要的。 – austincheney

+0

我认为他的观点似乎有效。我想验证一个电子邮件是客户端和服务器上的电子邮件,而不用两次完全相同的语言编写完全相同的代码。例如:https://github.com/bcardarella/client_side_validations – rgbrgb

8

看看revalidator。它被描述为“机智和熨斗使用的跨浏览器/ node.js验证器”。

相关问题