gpt4 book ai didi

php - CodeIgniter 使用数据库中的后数组值验证表单

转载 作者:可可西里 更新时间:2023-11-01 00:43:17 28 4
gpt4 key购买 nike

我有一个具有以下结构的表单:

Field A: <input name="something[34]"> -- Field B: <input name="something_else[11]">
Field A: <input name="something[93]"> -- Field B: <input name="something_else[67]">
Field A: <input name="something[5]"> -- Field B: <input name="something_else[212]">
...
...

等等,里面有未定义的行数和索引值。

我不知道如何验证。我正在尝试不同的方法,但我猜不出来:

$this->form_validation->set_rules('something[]', 'Something', 'required|xss_clean');
$this->form_validation->set_rules($_POST[something[]], 'Something', 'required|xss_clean');
$this->form_validation->set_rules($_POST[something][], 'Something', 'required|xss_clean');

等等..

根据表单验证部分的文档,我不知道如何管理它。你能给我一些帮助吗?提前致谢!

我使用 foreach 将字段保存回数据库中:

foreach ($_POST['something'] as $something_id => $something_name) {

if ($this->form_validation->run() === TRUE) {
//insert
}

}

最佳答案

您可以通过多种方式做到这一点,您可以遍历帖子项目数组并在每个项目上添加一个规则(取决于您需要什么样的验证)

$this->form_validation->set_rules('something[]', 'Something', 'required|xss_clean'); // Ensure something was provided

if (is_array($_POST['something'])) {
foreach ($key as $key => $value) {
$this->form_validation->set_rules('something['.$key.']', 'Something', 'required|greater_than[10]|xss_clean'); // Any validation you need
}
}

您也可以编码your own custom validation正如 Codeigniter 允许的那样:

$this->form_validation->set_rules('something[]', 'Something', 'callback_something_check');

...

function something_check($something) {
// Do what you need to validate here

return true; // or false, depending if your validation succeeded or not

}

关于php - CodeIgniter 使用数据库中的后数组值验证表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27592266/

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