- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们的 Struts 应用程序重复了许多表单验证检查:(1) jQuery/JS 中的客户端,以及 (2) Java 中的服务器端。
我问我的领导为什么,他说“你永远不能相信客户端。”但另一方面,为了方便起见,他也想在浏览器中提供 JS/jQuery 验证。
有很多冗余代码。在双方进行可重用验证的正确策略是什么?现在人们是否手动重复客户端/服务器端验证?
最佳答案
Think of it like the door of your house: with it, noone without the right key can enter. Without it, anyone can enter.
Think of it like the door with the intercom outside the building. With it, if you don't answer to the intercom, people goes away immediately. Without it, people need to enter the building, climb the stairs, knock to your door... just to discover that you are not at home.
您需要应用服务器端验证,在 Struts2 的情况下是 validate()
或 validateXXX()
方法,或通过 XML Validation
,或使用注释(使用内置的 Struts2 Annotations 每个操作,或使用 @UmeshAwasthi 每个实体的 jsr303-validator-plugin)。
如果您想重用您的服务器端验证作为客户端验证,您可以使用Struts2-jQuery-plugin如所述in this answer .
顺便说一句,HTML5(带有回退)和客户端的基本 jQuery 验证就足够了。
把真正的精力放在服务器端,然后如果你还有时间和预算,增强客户端。
关于java - Struts Web 应用程序 : Reusable Validation Client-Side & Server-Side,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28335066/
我有两个按钮,在两个按钮上添加了图像。 我需要以编程方式检查并删除按钮,另一个按钮将向右移动。 我知道一种方法。 添加宽度约束并以编程方式将其设置为零,但我不想这样做。 我想按图做。如果图像没有放在按
我想知道是否可以在 UI 上并排显示复选框选项。我尝试过的一些示例代码: shinyUI(pageWithSidebar( headerPanel("Example"), sidebarPan
我需要你的帮助。我有一个表单,有 2 个并排的 div(在左侧和右侧),作为 2 列。
我不知道如何并排对齐 3 个元素。我想要: 左侧宽度较窄的一个 View 一个线性布局,文本内容在中间 一个imageView总是在右边 像这样: 今天,我得到了这个: 这是我的代码:
我正在阅读 Django 1.5 的 main documentation .随着我的前进,我希望看到一些真正的实现,以便更好地掌握这些概念。 我知道源代码在 GitHub 上。我 fork 了源代码
简短版: 在每个 Gerrit 评论中都有一个 Open All 按钮,用于在新选项卡中打开每个 diff。 这个行为在一周前突然改变了:现在它为每个文件打开一个新窗口。我一直无法理解为什么,尽管我用
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我有 2 个由 UNION 组合的 SELECT 语句。我不想将所有结果按从一行到下一行的顺序堆叠,而是希望将第二个 SELECT 语句的结果/列添加到第一个 SELECT 语句的结果/列旁边: 以下
我正在为一个元素使用 Addpipe 记录器服务,我想将它放在桌面上的嵌入式视频旁边。我正在使用媒体查询来使网站响应并在电话屏幕上,我希望录音机进入下一行。在任何时候我都希望一切都居中。这是元素的链接
对于用于移动浏览器的 Web 应用程序,我想集成 this简单而优雅的预加载器。它将驻留在半透明覆盖层之上。它上面还会有一些文字(例如“请稍候...”或“稍等...”等)。 我尝试整合所有这些。结果如
我的应用程序包含一个浏览器扩展。我想根据用户使用的浏览器提供一个引用正确扩展的单个“安装”按钮。 服务器端和客户端浏览器检测的优缺点是什么? 请记住,这是针对实际的浏览器检测而不是功能检测,我将以完全
很难解释...请看: https://codepen.io/bigfraggle/pen/XBpEYY 希望导航 2 中的两列没有任何边距并排。我试过两者都 float ,但这不起作用。 style=
我正在使用 google-diff-match-patch使用我的 Java 应用程序创建差异。我使用方法 diff_prettyHtml 生成 diff 的 HTML 输出。 但是,我想要两个不同的
能否在同一个系统上以伪分布式的方式安装不同版本的Hadoop? 其实我想探索不同版本的 hadoop-1.x 和 hadoop-2.x 的特性,我已经在运行 Linux 的两个不同系统上配置了 had
我有两个面板。我想并排展示它们,但它们没有。 .aspx:
当您将 View 与布局的一侧对齐时,我注意到 RelativeLayout 中的一种奇怪行为(任何一侧)并且在同一方向上具有较大的边距。 我有 2 个 RelativeLayouts,每个都包含一个
我的机器上安装了 Visual Studio 2012,我正在尝试安装 TFS 2012 电动工具。 这是我通过 getwindowText 得到的错误: The Windows Shell Exte
我正在尝试创建一个简单的布局,在同一行中插入 2 个小部件,为此我使用了一行,但我收到了这些错误: The following assertion was thrown during performL
我正在尝试创建一个简单的布局,在同一行中插入 2 个小部件,为此我使用了一行,但我收到了这些错误: The following assertion was thrown during performL
我一直在尝试并排放置两个 div。 这是它的 jsFiddle:http://jsfiddle.net/M4t9k/19/ 我希望标题字段是左列,它总是有 1 行,但它的宽度可以改变,所以我不能将它设
我是一名优秀的程序员,十分优秀!