gpt4 book ai didi

php - 使用 PHP Filter 函数进行验证,但忽略空的非必填字段

转载 作者:可可西里 更新时间:2023-11-01 13:15:45 26 4
gpt4 key购买 nike

我想使用 PHP Filter快速过滤表单并向用户显示反馈的功能。我表单中的某些字段是必需的,有些则不是。

我将使用 filter_input_array()过滤我所有的领域。我将在多次运行中传递数据。这样,我将能够显示多个错误消息。

我有一个问题:如何忽略不需要的空字段?我没有看到它的过滤器。

更新:澄清过滤器和错误消息的要求:

我想使用过滤器来检查:

  1. 如果所有必填字段都已填写
  2. 如果填写了可选字段;如果不是,则忽略其余过程
  3. 如果填写了电子邮件、电话号码等字段。

我想为每种类型的错误显示错误消息,每个字段最多显示 1 条错误消息。

最佳答案

对于输入数组中不存在的元素,filter_xyz_array() 函数将返回 NULL,例如

<?php

$args = array(
'foo' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
'options' => array('min_range' => 1, 'max_range' => 4)
),
'bar' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR
)
);

$input = array(
'foo'=>array(1,2,3,4)
);

$filtered = filter_var_array($input, $args);
var_dump($filtered);

打印

array(2) {
["foo"]=>
array(4) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
}
["bar"]=>
NULL
}

isset()对于包含 NULL 的变量/数组元素返回 false。您可以使用它来忽略被过滤器函数设置为 NULL 的元素。
根据您过滤的内容和过滤函数返回的数组结构,您甚至可以使用 array_filter() “清理”数组。

关于php - 使用 PHP Filter 函数进行验证,但忽略空的非必填字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1249931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com