如何最好地处理Web应用程序中的数据验证:纯JavaScript代码或对熟悉的perl包的ajax调用

How best does one handle data validation in a web application: pure javascript code or ajax calls to familiar perl packages?

本文关键字:代码 JavaScript 熟悉 调用 ajax 包的 perl 处理 何最好 Web 应用程序      更新时间:2023-09-26

我熟悉许多验证选项,实际上出于显而易见的原因,我倾向于在客户端和服务器端都这样做。

我有一些非常好的perl包来验证我需要验证的所有内容。 我没有找到Javascript的相应数据验证包。 对于电话号码,我看到一个库:https://github.com/googlei18n/libphonenumber,但不清楚我将如何在 Javascript 函数中使用它。 同样,我发现了许多正则表达式,用于验证地址中给定 ISO 国家/地区代码的邮政编码。 但是其中有 100 多个,想到将它们全部输入,然后根据 ISO 国家/地区代码弄清楚要申请哪个,我不寒而栗。

现在,是否有高质量的Javascript库可以用来验证例如电话号码和邮政编码(以及信用卡和CVV值),或者当我可以使用使用我的Perl包的ajax调用时,我是否在浪费时间寻找它?

浏览器在敌后,任何来自它的东西都应该被处理极其小心。当涉及到浏览器端验证时,它应该是仅考虑用户体验,即使使用众所周知的 JS 库验证输入。您必须始终检查它服务器端。看来您已经拥有了这些服务,这很棒。

最后一段不一定是针对OP的,而是针对任何第一次遇到此问题的人,因为它是一个基本概念,即信用卡等内容的客户端验证是安全问题的源泉。

现在我们知道我们需要强大的服务器端验证。根据我的经验,这简化了事情,因为您经常可以找到简单的JS库,这些库将执行您需要的98%的用例,并且对于其他任何用例,您都可以回退到服务。

两个例子。

  1. 可以使用几行代码部分处理美国邮政编码

美国邮政编码和加拿大邮政编码的角度ng模式正则表达式代码

  1. CVV号码和信用卡,如果你采用类似角度的东西(我会推荐它)您可以利用任意数量的库。

https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=angular+credit+card+

简而言之,如果您有强大的服务器端验证,问题就变成了仅关于用户体验。如果您的服务性能良好,请使用它们使用 Ajax 进行验证,如果您想使网站感觉更像单页应用程序,请使用 JS 库并回退到服务。你唯一不能做的就是相信你从敌后得到的东西。