代码之家  ›  专栏  ›  技术社区  ›  M.K.

绕过表单验证

  •  1
  • M.K.  · 技术社区  · 7 年前

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

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

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

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

    1 回复  |  直到 7 年前
        1
  •  1
  •   Andriy Kuba    7 年前

    改变 button div

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

    违约 type submit 所以它将表单发送到服务器并验证它。在你的情况下 按钮 默认情况下 提交 属性捕获单击事件,因此 a 即使没有击中。

    按钮 标记,然后需要用javascript覆盖其行为,如:

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

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

    推荐文章