Codeigniter 4将非发布请求值传递给验证规则

问题描述

我正在尝试验证电子邮件是否存在基于团队ID的现有记录,但是我不知道如何将团队ID传递到我的验证文件。我的团队ID值来自URI细分。我需要团队ID值来检查是否存在电子邮件。我收到“未定义的索引:team_id”错误,并且尝试执行print_r,它仅显示成员电子邮件值。我也尝试使用$_POST['team_id'] = $this->request->uri->getSegment(3);,但team_id字段也未显示在验证功能中。为了使验证读取我的团队ID值,我该怎么做?

希望有人可以帮助我解决这个问题。预先感谢大家!

下面是我当前的代码

控制器

$team_id = $this->request->uri->getSegment(3);
$data['team_id'] = $team_id;

            $rules = [
                'member_email' => 'required|validateEmailtoID[member_email]|emailExist[team_id,member_email]'
            ];

验证文件

public function emailExist(string $str,string $fields,array $data)
    {

        print_r($data);
        echo $data['team_id'];
    }

表单视图

<form class="" action="" method="post">

            <div class="form-group col-12 col-md-6">
                <label for="member_email">Team Members</label>
                <input type="text" class="form-control" id="member_email" name="member_email" placeholder="Member Email" value="<?= set_value('member_email') ?>" />
            </div>
            
            
            <div class="form-group col-12 col-md-6">
                <button type="submit" class="btn btn-primary">Add</button>
            </div>
            
        </form>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)