【问题标题】:Not being able to select the same name into a form无法在表单中选择相同的名称
【发布时间】:2018-04-04 12:27:11
【问题描述】:

所以我有这个表格,我可以填写公司,但现在我可以插入多个具有相同名称的公司,但我不希望这样.. 我希望公司的名称是唯一的,否则如果我输入数据库中已有的相同名称,它应该会给我一个错误。

我该怎么做?

这是我在我的视图 html 中的表单:

  <br>
        <center> <h3> Instituut toevoegen </h3>  </center>
        <br>
                <?php  echo form_open('index.php/Instituut/Add_instituut'); ?>

                     <div class="form-group">
                     <label>Instituut:</label>
                    <input class="form-control" name="instituut" id="instituut"  type="text">
                </div>

                         <div class="form-group">
                             <label>Telefoonnummer van instituut:</label>
                    <input class="form-control" name="instituuttelefoon" id="instituuttelefoon"  type="text">
                </div>

                <div>
                    <button class="btn btn-primary" name="Add_instituut" >Toevoegen</button>
                </div>
            </form>       
        </div>

这是控制器功能:

public function Add_instituut()
        {
            if (isset($_POST['Add_instituut'])) {
            $this->form_validation->set_rules('instituut', 'Instituut', 'required');
            $this->form_validation->set_rules('instituuttelefoon', 'instituuttelefoon', 'required');

            //If form validation true
            if ($this->form_validation->run() == TRUE) {

                //voeg werknemer toe in database
                $data = array (
                    'instituut'=>$_POST['instituut'],
                    'instituuttelefoon'=>$_POST['instituuttelefoon'],
                    );
                $this->db->insert('instituut',$data);

                $this->session->set_flashdata("success", "u heeft een nieuw instituut toegevoegd");
                redirect("index.php/Instituut", "refresh");
            }
        }
    }

我可能应该在表单验证规则中添加一些内容?

instituut 表示公司名称 谢谢 任何形式的帮助表示赞赏

【问题讨论】:

  • 我没有看到打开的 &lt;form&gt; 标记。我所看到的只是一个结束的&lt;/form&gt;。所以,方法未知。

标签: php codeigniter codeigniter-3


【解决方案1】:

您可以在表单验证规则中添加is_unique

$this->form_validation->set_rules('instituut', 'Instituut', 'required|is_unique[your_table_name.instituut]');

查看教程。独特价值:

https://www.codeigniter.com/userguide3/libraries/form_validation.html#rule-reference

【讨论】:

  • 我的表名是 instituut,所以我必须这样做:@b.desai $this->form_validation->set_rules('instituut', 'Instituut', 'required|is_unique[instituut] ');
  • 字段名是什么?
  • 啊也是instituut所以我必须做instituut.instituut?
  • 当我填写一个具有唯一名称的表单时,自从我添加了该 vorm 验证规则后,没有任何内容被上传到我的数据库中?
  • 我有这样的,对吗? : $this->form_validation->set_rules('instituut', 'Instituut', 'required|is_unique[instituut.instituut]');当我提交表单时,表单不再上传
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-19
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多