2011-07-25 42 views
0

我正在构建一个ASP.NET网站,以允许导入一些网球比分。我打算为Player 1制作一行文本框,并为Player 2制作一个允许输入分数的行。JQuery复杂的客户端验证

我的第一项任务是验证输入的分数是否有效。我可以在AJAX更新面板中的代码中做到这一点,所以它可以无缝地发生,但我想知道如果我可以用客户端验证和jQuery来做到这一点。这比服务器处理时间更高效还是效率更低?该代码需要循环遍历每个集合分数的两个文本框,并确保其中一个玩家有6或7个游戏,并且比另一个玩家多2个游戏。如果不是,它可能是一个tiebreak(在这种情况下,需要显示一对隐藏的tiebreak文本框),或者分数无效,并且需要重新设置文本框以突出显示它。

这是可行的吗?如果是这样,我会欢迎任何指示让我走。到目前为止,我已经完成了很少的JavaScript/jQuery。

+0

客户端是要走的路,因为你可以验证,并给予及时的反馈,因为他们填写表格。验证只是您需要的一部分,您还需要构建一些动态HTML以支持显示其他字段。 jQuery将使这个过程“更快” – Zachary

+0

除非你不关心数据或者你可以信任你的用户,否则客户端永远不可能走。正如Caimen所说的那样。做两个。 –

回答

1

您应该问的问题可能是:“使用JavaScript进行验证会很安全吗?”。问题是,如果说你已经建立了javascript来表示不允许某个点以上的分数,那么可以在客户端操纵javascript以允许更高的分数。服务器端仍然需要验证分数以确保它是正确的,因此您仍然需要一些服务器端验证。 Javascript验证实际上只是为了让事情看起来很漂亮,当向服务器发送数据时它确实没有价值,因为JavaScript很容易被许多工具操纵。例如,使用Firefox的Firebug可以非常容易地将DOM变量操纵到任何你想要的东西。这里是一个JQuery验证插件的链接。只要记住,如果您要将数据提交给服务器,则必须重新进行验证,以确保客户端没有任何操作可以允许发送不符合规范的变量。

但是,如果数据没有存储在服务器上,只有在本地,那么真的没有太多担心。

http://plugins.jquery.com/project/validate

+0

谢谢。我完全同意并将在提交到数据库之前验证所有数据,并纯粹使用客户端来改进前端的界面和易用性。 我需要解决的是如何使用jquery验证来比较玩家A和玩家B得分的值,以确定它们是否构成一个完整集合(即玩家具有6或7两个明确点)。 –

+0

JQuery验证并未真正用于此类验证。它用于查看一个字段是否有全部小写字符,或者是否有数字。您需要编写的代码应该相当简单,只需使用纯JavaScript即可。没有必要让JQuery真正涉足这一点。一些简单的if语句就足够了。它的核心Javascript与其他语言没有太大区别。如果您在开始使用javascript时遇到问题,请转到w3schools.com并运行一些教程。 – Caimen