如何在Spring表单中滚动到第一个错误?

时间:2012-02-16 14:03:22

标签: forms spring validation java-ee spring-mvc

我的注册是使用Spring表单并在提交后验证数据,表单:如果有错误,将打印出错误。我需要将页面向下滚动到第一个表单:错误,以便用户不必搜索错误,有没有办法做到这一点?

欢呼声

2 个答案:

答案 0 :(得分:1)

我还没有尝试过任何一种,但我可以想到两种可能的方法:

  • 使用Javascript。由<生成的跨度形式:错误/>有一个班级(我现在不记得)或者你可以强制使用cssClass属性。使用this jQuery插件滚动到第一个插件非常容易。

  • 没有Javascript。这将更加困难,我不确定它是否会起作用:

    • 在您的控制器中,您必须重定向到 / myForm #error 之类的内容,而不是返回直接视图。
    • 为了不丢失您的模型,您必须使用FlashMap属性。
    • "子类" <形式:错误/>标签。它必须具有相同的行为,但它必须在页面的第一个错误上包含一个名为error的锚。

答案 1 :(得分:0)

我认为你可以用锚点做到这一点。 - 但你需要自己实现它。

我的想法是将锚点放在所有输入文件上。然后有一些能够scoll到锚点的java脚本。如果错误对象包含错误,则在页面加载时调用此java脚本。 - 此错误包含字段的名称。因此,如果您有一些用于命名锚点的schama,则应该可以调用跳转到锚点脚本,并且字段帽子的名称有错误。