判断表单是否已提交以确定是否应将表单的变量传递给验证类的最佳方法是什么?

一开始我想也许:

isset($_POST)

但这将始终返回TRUE,因为超级全球的定义无处不在.我不想使用以下命令遍历表单的每个元素:

if(isset($_POST['element1']) || isset($_POST['element2']) || isset(...etc

在写这个问题时,我想到了一个更基本的解决方案,添加一个隐藏字段作为我可以判断的标志.

Is there a 'cleaner' way to do it than adding my own flag?

推荐答案

对于常规判断是否使用POST个动作:

if (!empty($_POST))

EDIT:如 comments 中所述,这种方法在某些情况下不适用(例如,带有复选框和没有名称的按钮).你真的应该使用:

if ($_SERVER['REQUEST_METHOD'] == 'POST')

Php相关问答推荐

自定义通知在Woocommerce我的帐户自定义端点页面上不起作用

根据在WooCommerce购物车和 checkout 中 Select 的送货方式显示快捷代码内容

如何将WooCommerce产品属性术语名称显示为链接术语?

用于计算付款费用的WooCommerce管理编辑产品中的自定义复选框

WordPress插件和JSON不是有效的响应错误

无法使用php IMAP从Gmail获取收件箱

SendGrid响应PHP

文件::Files()响应返回空对象数组

htaccess 配置提供静态文件和动态文件

按类别层次 struct 过滤 Laravel 集合

如果在 APIPlatform 3.1 中的同一资源上使用处理器,Messenger 将无法工作

PHP访问子数组列表出错结果和长度

调度程序不发送任何消息

产品页面自定义复选框可对 WooCommerce 购物车小计启用百分比折扣

在 Botiga 主题模板中添加复选框到政策行.Woocommerce

PHP Symfony 在测试.env文件中将接口自动装配作为构造函数参数,但使用接口的特定类

自定义主键值未正确显示

在 GA4 Data API V1 Beta 中使用 inListFilter 过滤器时出错

Google Drive - 仅使用 FileID 获取文件的 FileSize

PHP路由不重定向