Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery复杂客户端验证_Jquery_Asp.net_Validation - Fatal编程技术网

JQuery复杂客户端验证

JQuery复杂客户端验证,jquery,asp.net,validation,Jquery,Asp.net,Validation,我正在建立一个ASP.NET网站,允许导入一些网球成绩。我计划为玩家1和玩家2设置一行文本框,允许输入分数 我的第一项任务是验证输入的分数是否有效。我可以在AJAX updatepanel中的代码隐藏中实现这一点,这样就可以无缝地实现,但我想知道是否可以通过客户端验证和jquery实现这一点。这比占用服务器时间来处理它效率高还是低?代码需要在每个设定分数的两个文本框中循环,并确保其中一个玩家有6或7场比赛,并且比另一个玩家多2场比赛。如果不是,则可能是一个tiebreak(在这种情况下,需要显示

我正在建立一个ASP.NET网站,允许导入一些网球成绩。我计划为玩家1和玩家2设置一行文本框,允许输入分数

我的第一项任务是验证输入的分数是否有效。我可以在AJAX updatepanel中的代码隐藏中实现这一点,这样就可以无缝地实现,但我想知道是否可以通过客户端验证和jquery实现这一点。这比占用服务器时间来处理它效率高还是低?代码需要在每个设定分数的两个文本框中循环,并确保其中一个玩家有6或7场比赛,并且比另一个玩家多2场比赛。如果不是,则可能是一个tiebreak(在这种情况下,需要显示一对隐藏的tiebreak文本框),或者分数无效,需要重新设置文本框的样式以突出显示它


这是否可行?如果是这样的话,我欢迎有人指点我。到目前为止,我很少使用javascript/jquery。

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

但是,如果数据不存储在服务器上,那么只存储在本地,就真的没有什么可担心的了


客户端是一个不错的选择,因为在他们填写表单时,您可以验证并立即提供反馈。验证只是您需要的一部分,您还需要构建一些动态HTML来支持显示其他字段。jQuery将使这一过程“更快”,客户端永远不会是唯一的出路,除非您不关心数据,或者您可以信任您的用户。正如凯门鳄所说,两者兼而有之。两者都做,谢谢。我完全同意,并将在提交到数据库之前验证所有数据,使用客户端纯粹是为了改进前端的界面和易用性。我需要解决的是如何使用jquery验证来比较玩家A和玩家B的分数值,以确定他们是否构成一个完整的集合(即一个玩家有6或7个明显的分数)。jquery验证实际上并不用于这种类型的验证。它用于查看字段中是否包含所有小写字符,或者是否包含数字。您需要编写的代码应该非常简单,只需使用纯javascript即可。JQuery不需要真正参与其中。几个简单的if语句就足够了。Javascript的核心与其他语言没有太大区别。如果您在开始使用javascript时遇到困难,请访问w3schools.com并浏览一些教程。