【问题标题】:Bypass Form Validation绕过表单验证
【发布时间】:2019-01-20 17:12:44
【问题描述】:

我有一个带有单选按钮组的表单,我为其设置了验证逻辑,即在提交时必须选择组中的一个单选按钮。

但是,我在该表单上还有一个取消按钮,我已将其包装为超链接,如下所示:

<a href="@routes.MyController.index">
    <button>Cancel</button>
</a>

问题是当用户在没有选择单选按钮的情况下单击此取消按钮时(因为他们出于某种原因想要离开表单),验证逻辑会启动提示用户选择单选按钮选项。

单击取消按钮时如何绕过验证?

【问题讨论】:

    标签: scala playframework-2.0


    【解决方案1】:

    button 更改为div

    <a href="@routes.MyController.index">
      <div>Cancel</div>
    </a>
    

    默认的type 属性是submit,因此它将表单发送到服务器并对其进行验证。在您的情况下,具有默认 submit 属性的 button 会捕获单击事件,因此 a 甚至不会命中。

    如果您需要 button 标记,那么您需要使用以下 javascript 覆盖其行为:

    <button type="button" onclick="window.location.href='@routes.MyController.index'">Cancel</button>
    

    附:

    它与 playframework 无关,它只是一个 HTML 行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      相关资源
      最近更新 更多