我的复选框有问题我想添加验证,但我不知道如何在验证规则中查看我的名字字段。
我的观点
<?php
foreach( $tab1 as $row){
?>
<a>
<input type="checkbox" name="<?php echo 'id_user_'.$row->id_user; ?>" value=" <?php echo $row->id_user; ?>" />
</a>
<?php
当我这样做时,我得到结果(复选框的名称),例如:
id_user_1
id_user_2
id_user_3
现在我想添加验证但是:
$this->form_validation->set_rules(' WHAT SHOULD I WRITE HERE ??? ', 'User','required');
编辑:
$this->form_validation->set_rules('id_uzytkownika', 'Uzytkownika','required');
if ($this->form_validation->run())
{
$todo = array(
'tytul_projektu'=>$this->input->post('tytul_projektu'),
'opis_projektu'=>$this->input->post('opis_projektu'),
'data_zakonczenia'=>$this->input->post('datepicker')
);
$user_projekty = array(
'id_uzytkownika'=>$this->input->post('id_uzytkownika'),
'id_projektu'=>$this->input->post('id'),
);
$users = array();
foreach($_POST as $key => $value)
{
if(strpos($key, 'id_uzytkownika') === 0)
{
$users[] = $value;
}
}
$this->Todo_model->add($todo,$user_projekty,$users);
查看:
<?php
foreach( $tab1 as $row){
?>
<a>
<input type="checkbox" name="<?php echo 'id_uzytkownika['.$row->id_uzytkownika.']'; ?>" value="<?php echo $row->id_uzytkownika; ?>" />
MODEL:
function add($data,$data2,$users) { $this->db->insert('projekty', $data);
$ id = $ this-&gt; db-&gt; insert_id('projekty');
$ data2 ['id_projektu'] = $ id;$ query = $ this-&gt; db-&gt; query(“SELECT * FROM uzytkownicy”);
foreach($ users as $ user){
$data2['id_uzytkownika'] = $user; $this->db->insert('projekty_uzytkownicy', $data2); } return $query->result(); }
答案 0 :(得分:0)
您可以采取一些方法。使用现有代码,第一个是创建一个定义所有唯一输入名称的循环。
foreach($users as $user) {
$this->form_validation->set_rules('id_user_'.$user->id_user, 'User','required');
}
但是,这个逻辑需要检查每个复选框。我不确定在什么情况下这将被用于。
另一种方法是稍微改变你的html。 而不是
<input type="checkbox" name="<?php echo 'id_user_'.$row->id_user; ?>"
value="<?php echo $row->id_user; ?>" />
您可以尝试使用类似
的内容 <input type="checkbox" name="<?php echo 'id_user['.$row->id_user.']'; ?>"
value="1" />
这样您就可以根据id_user
制作表单验证规则,而不是使用唯一名称。