我们的Struts应用程序重复了许多对表单的验证检查:(1)jQuery / JS中的客户端,以及(2)Java中的服务器端。
我问领导为什么,然后他说:“您永远不能信任客户端。” 但另一方面,为了方便起见,他也希望在浏览器中提供JS / jQuery验证。
有很多冗余代码。双方进行可重复使用的验证的正确策略是什么?这些天人们是否手动重复客户端/服务器端验证?
就像把它当作房屋的门一样:没有它,没有正确的钥匙的任何人都无法进入。没有它,任何人都可以进入。
可以将其想像为大楼外带有 对讲机 的门。有了它,如果您不回答对讲机,人们就会立即离开。没有它,人们就需要进入建筑物,爬楼梯,敲门……只是为了发现您不在家。
您 需要 应用服务器端验证,就Struts2而言,要么是通过validate()或validateXXX()方法,要么是通过XML Validation,或者是使用注释(通过内置的Struts2 An- actions每个动作,或通过@UmeshAwasthi per 的jsr303-validator- plugin -实体)。
validate()
validateXXX()
XML Validation
如果你想 重用 你的 服务器端 验证 的客户端 可以使用验证Struts2的,jQuery的插件描述在这个答案。
BTW,HTML5(具有后备功能)和客户端上的基本jQuery验证就足够了。
将真正的精力放在服务器端,然后,如果您还有时间和预算,请增强客户端。