我们将如何轻松地验证JSP选项选择列表?
时间:2020-03-06 14:44:39 来源:igfitidea点击:
我需要验证这个简单的选择列表:
<select name="<%= key %>"> <option value="ETC" SELECTED>Select an option...</option> <option value="ONE">Lorem ipsum</option> <option value="TWO">dolor sit amet</option> </select>
因此,用户将永远不会提交带有重复的"选择一个选项..."选项的表格。原则上允许使用JavaScript,但是学习如何在JSP中解决它也会很有趣。
解决方案
我们永远无法真正满足"从不提交给定值"的条件,因为我们无法控制客户端。用户始终可以操纵HTML来提交他们想要的任何内容。
好的方法是使用JavaScript进行客户端验证,并向用户提供快速反馈,并捕获99%以上的案例,然后对提交的参数进行服务器端验证,以捕获不具备的少数参数启用JS或者操纵HTML提交非预期值的人。
只需记住,客户端验证是可选的,并且对于那些"常见错误"输入验证很有用,但是服务器端验证对于所有输入都是必需的,无论是否已对给定输入执行任何客户端检查。
如今,我们通常不使用JSP进行验证,因为它们仅显示以前处理过的内容。因此,"以jsps"执行的唯一验证通常是Javascript。对于剩下的部分(真正的验证),我仅次于Pete回答的内容:我们必须在服务器端使用所使用的任何技术来完成此操作。当它再次显示在JSP中时,希望验证已经完成了很长时间。
正如我今天所说的那样:当JSP是一个崭新的概念时,在JSP的边界内做了很多工作,有时甚至将表单发布到JSP。当时,如何验证甚至还不规范。
JSP是MVC模式中的"视图",因此应仅用于将数据呈现给用户。任何应用程序逻辑,包括验证逻辑,都应在服务器端完成。
如果此JSP打算成为大型应用程序的一部分,我建议使用Spring MVC来设置应用程序,并编写一个验证器来验证输入。
但是,即使我们在这里不讨论某些大型应用程序,也应该在服务器端完成验证,就像我之前提到的其他验证程序一样。