Php 为什么是";“必需”;使用recaptcha时是否忽略属性?

Php 为什么是";“必需”;使用recaptcha时是否忽略属性?,php,html,forms,invisible-recaptcha,Php,Html,Forms,Invisible Recaptcha,在下面的脚本中,表单使用required属性作为复选框,但也可以在不选中复选框的情况下发送它。根据,所有当前浏览器都支持此属性。 为什么不起作用 <html> <body> <script src='https://www.google.com/recaptcha/api.js' async defer></script> <script> fu

在下面的脚本中,表单使用
required
属性作为复选框,但也可以在不选中复选框的情况下发送它。根据,所有当前浏览器都支持此属性。 为什么不起作用

<html>
    <body>
        <script src='https://www.google.com/recaptcha/api.js' async defer></script>
                <script>
                  function onTosSubmit(token) {
                    document.getElementById("tos").submit();
                  }
                </script>
                <noscript><?php echo 'enable JS'; ?></noscript>
                <form id='tos' action="" method="POST">
                    <input type="checkbox" name="toscheckbox" id="toscheckbox" required/>
                    <label for="toscheckbox">I agree with terms of use</label>
                    <button
                        class="g-recaptcha"
                        data-sitekey="My Google reCaptcha API key"
                        data-callback="onTosSubmit">
                        Button text
                    </button>
                </form>
    </body>
</html>

提交上的函数(令牌){
document.getElementById(“tos”).submit();
}
我同意使用条款
按钮文本

删除按钮属性可以进行正确的操作,但它们是recaptcha所必需的。

法律问题,必须有一个复选框供最终用户检查。我会冒险说,这是因为
必需的
属性与表单一起发挥作用,而表单从未真正“提交”,单击
按钮
,它会调用一个javascript事件。也许数据回调应该在javascript中为必填字段实现验证。您可以使用javascript停止表单的发送,但是如果在用户浏览器上打开JS,它将无法工作。但您当然必须进行后端检查,以确定这是否是合法问题,而在这种情况下,服务器端验证是绝对必要的,进行客户端验证没有什么错,它增加了减少对服务器的不完整请求和所需的服务器端处理的好处。检查服务器端不是问题的一部分,而是一个单独的问题。法律问题,必须有一个复选框供最终用户检查。我会冒险说,这是因为
required
属性与表单一起发挥作用是sumitted的,因为表单从来没有真正“提交”,它有一个javascript事件,只要点击
按钮
。也许数据回调应该在javascript中为必填字段实现验证。您可以使用javascript停止表单的发送,但是如果在用户浏览器上打开JS,它将无法工作。但您当然必须进行后端检查,以确定这是否是合法问题,而在这种情况下,服务器端验证是绝对必要的,进行客户端验证没有什么错,它还增加了减少对服务器的不完整请求和所需的服务器端处理的好处。检查服务器端不是问题的一部分,而是一个单独的问题。