doucan1979 2014-08-27 14:28
浏览 44
已采纳

如何使用表单验证以及codeIgniter中存在的用户ID

i use the following code for form validation and employee code already exists.i can easily validate the form but i am unable to display the message for if employee code already exist

as the following code for the controllers/employee.php

public function add_employee($site_id = false)
{

$this->load->helper(array('form', 'url'));

$this->load->library('form_validation');

$this->form_validation->set_rules('name', 'Name', 'trim|required|max_length[50]|xss_clean');
$this->form_validation->set_rules('father_name', 'Father Name', 'trim|required|max_length[50]|xss_clean');
$this->form_validation->set_rules('DOB', 'Date Of Birth', 'trim|required|max_length[50]|xss_clean');
$this->form_validation->set_rules('mobile_no', 'Mobile Number', 'trim|required|min_length[10]|max_length[10]|integer|xss_clean');
$this->form_validation->set_rules('email_id', 'Email Id', 'valid_email|xss_clean');
$this->form_validation->set_rules('e_code', 'Employee Code', 'trim|required|max_length[20]|xss_clean');

//$this->form_validation->set_rules('local_address', 'Local Address', 'trim|required|max_length[200]|xss_clean');
$this->form_validation->set_rules('permanent_address', 'Permanent Address', 'trim|required|max_length[200]|xss_clean');
//$this->form_validation->set_rules('adhaar_no', 'Adhaar Number', 'trim|required|min_length[12]|max_length[12]|xss_clean');
//$this->form_validation->set_rules('account_no', 'Account Number', 'trim|required|max_length[50]|xss_clean');

//$this->form_validation->set_rules('bank_name', 'Bank Name', 'trim|required|max_length[50]|xss_clean');
//$this->form_validation->set_rules('branch_name', 'Branch Name', 'trim|required|max_length[50]|xss_clean');
//$this->form_validation->set_rules('ifsc_code', 'IFSC Code', 'trim|required|max_length[50]|xss_clean');

$this->form_validation->set_rules('reference_by', 'Reference By', 'trim|required|max_length[50]|xss_clean');
$this->form_validation->set_rules('work_location', 'Work Location', 'trim|required|xss_clean');
$this->form_validation->set_rules('designation', 'Designation', 'trim|required|max_length[50]|xss_clean');
$this->form_validation->set_rules('salary', 'Salary', 'trim|required|max_length[50]|xss_clean');
$this->form_validation->set_rules('joining_date', 'Joining Date', 'trim|required|max_length[50]|xss_clean');
$this->form_validation->set_rules('pan_no', 'Pan Number', 'trim|regex_match[/^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/]|max_length[50]|xss_clean');
//$this->form_validation->set_rules('id_proof', 'ID Proof', 'trim|required|max_length[50]|xss_clean');
//$this->form_validation->set_rules('status', 'Status', 'trim|required|xss_clean');

if ($this->form_validation->run() == FALSE)
{

employee::add_employee_form();
}
else
{

$count=$this->employee_model->add_employee($_POST);

if($count>0)
{
employee::add_employee_form();  
}
else{
if(!$site_id) {
redirect(base_url().'employee'); } else {
redirect(base_url().'site_ho_view/'.$site_id);
}
}
}
}

and for the view/add_employee_form as below

<div class="row">
    <div class="col-sm-8">
    <div class="box-register">

        <div class="panel panel-default">



            <div class="panel-heading">
                <i class="fa fa-external-link-square"></i>
                Employee details
            </div>


            <?php
            $attributes = array('class' => 'form-horizontal');
            echo form_open_multipart('employee/add_employee', $attributes);?>
            <div class="panel-body">



                <?php echo form_error('name'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Name
                                            </label>
                                            <div class="col-sm-8">
                <input type="hidden" name="confirmed" value="0">
                                    <input type="text" class="form-control" name="name" placeholder="Name" value="<?php echo set_value('name'); ?>">
                </div>
                </div>




                <?php echo form_error('e_code'); ?>
                            <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Employee Code
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="e_code" placeholder="Employee Code" value="<?php echo set_value('e_code'); ?>">
                </div>
                </div>

                <?php echo form_error('father_name'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Father Name
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="father_name" placeholder="Father Name" value="<?php echo set_value('father_name'); ?>">
                </div>
                </div>

                <?php echo form_error('DOB'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Date Of Birth
                                            </label>
                                            <div class="col-sm-8">
                          <input type="text" class="form-control" id="datepicker" name="DOB" placeholder="Date Of Birth" value="<?php echo set_value('DOB'); ?>" >


                </div>
                </div>

                <?php echo form_error('mobile_no'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Mobile No.
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="mobile_no" placeholder="Mobile Number" value="<?php echo set_value('mobile_no'); ?>">
                </div>
                </div>

                <?php echo form_error('email_id'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Email ID
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="email_id" placeholder="Email ID" value="<?php echo set_value('email_id'); ?>">
                </div>
                </div>


                <?php echo form_error('local_address'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Local Address
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="local_address" placeholder="Local Address" value="<?php echo set_value('local_address'); ?>">
                </div>
                </div>

                <?php echo form_error('permanent_address'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Permanent Address
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="permanent_address" placeholder="Permanent Address" value="<?php echo set_value('permanent_address'); ?>">
                </div>
                </div>

                <?php echo form_error('adhaar_no'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Adhaar No.
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="adhaar_no" placeholder="Adhaar No" value="<?php echo set_value('adhaar_no'); ?>">
                </div>
                </div>



                <?php echo form_error('bank_name'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Bank Name
                                            </label>
                                            <div class="col-sm-8">
                                            <input type="text" class="form-control" name="bank_name" placeholder="Bank Name" value="<?php echo set_value('bank_name'); ?>">
                </div>
                </div>

                <?php echo form_error('account_no'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Account No.
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="account_no" placeholder="Account No" value="<?php echo set_value('account_no'); ?>">
                </div>
                </div>

                <?php echo form_error('branch_name'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Branch Name
                                            </label>
                                            <div class="col-sm-8">

                                    <input type="text" class="form-control" name="branch_name" placeholder="Branch Name" value="<?php echo set_value('branch_name'); ?>">
                </div>
                </div>

                <?php echo form_error('ifsc_code'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                IFSC Code
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="ifsc_code" placeholder="IFSC Code" value="<?php echo set_value('ifsc_code'); ?>">
                </div>
                </div>

                <?php echo form_error('reference_by'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Reference By
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="reference_by" placeholder="Reference By" value="<?php echo set_value('reference_by'); ?>">
                </div>
                </div>

                <?php echo form_error('work_location'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Work Location
                                            </label>
                                            <div class="col-sm-8">
                <select id="form-field-select-1" class="form-control search-select" name='work_location' style="border:1px;">
                                            <option value="">Select Work Location</option>

                                            <?php foreach($all_construction_sites as $site)
                                            { ?>
                                            <option value="<?php echo $site['id']; ?>"



                                            <?php if(set_value('work_location') == $site['id']) { ?> selected <?php } ?>


                                            ><?php echo $site['name']; ?></option>
                                            <?php } ?>




                                        </select>
                               </div>
                               </div>

                <?php echo form_error('designation'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Designation
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="designation" placeholder="Designation" value="<?php echo set_value('designation'); ?>">
                </div>
                </div>

                <?php echo form_error('salary'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Salary
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="salary" placeholder="Salary" value="<?php echo set_value('salary'); ?>">
                </div>
                </div>

                <?php echo form_error('joining_date'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Joining Date
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="joining_date" id="datepicker2" placeholder="Joining Date" value="<?php echo set_value('joining_date'); ?>" readonly>
                </div>
                </div>

                <?php echo form_error('pan_no'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                PAN No
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="pan_no" placeholder="Pan Number" value="<?php echo set_value('pan_no'); ?>">
                </div>
                </div>

                <?php echo form_error('id_proof'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                ID Proof
                                            </label>
                                            <div class="col-sm-8">
                                    <input type="text" class="form-control" name="id_proof" placeholder="ID Proof" value="<?php echo set_value('id_proof'); ?>">
                </div>
                </div>

                <?php echo form_error('status'); ?>
                <div class="form-group">
                <label class="col-sm-3 control-label" for="form-field-3" >
                                                Status
                                            </label>
                                            <div class="col-sm-8">
                <select id="form-field-select-1" name="status" class="form-control search-select" style="border:1px;">
                                            <option value="">Select Status</option>
                                            <option value="working"


                                            <?php if(set_value('status') == 'working') { ?> selected <?php } ?>


                                            >Working</option>
                                            <option value="on_leave"

                                            <?php if(set_value('status') == 'on_leave') { ?> selected <?php } ?>

                                            >On Leave</option>
                                            <option value="terminated"

                                            <?php if(set_value('status') == 'terminated') { ?> selected <?php } ?>

                                            >Terminated</option>
                                            <option value="retired"

                                            <?php if(set_value('status') == 'retired') { ?> selected <?php } ?>

                                            >Retired</option>



                                        </select>


                </div>
                </div>




                            </div>
        </div>

and the empmployee_model.php/add_employee as follow

function add_employee($data)
    {   
        $query = $this->db->get_where('spar_employee', array('e_code' => $data['e_code']
        ));

        $count = $query->num_rows();

       if($count>0)
       {


           return $count;

       }
       else{
        $data['created'] = date("Y-m-d");
        $data['last_user'] = $this->session->userdata('user_id');
        $this->db->insert('spar_employee', $data);
       }

    }

plz help me

  • 写回答

1条回答 默认 最新

  • duandan1995 2014-08-27 16:52
    关注

    You can set a rule to check if the value would be unique in a table.field. This is what I would do:

    $this->form_validation->set_rules('e_code', 'Employee Code', 'trim|required|max_length[20]|xss_clean|is_unique[spar_employee.e_code]');
    

    source: https://ellislab.com/codeigniter/user-guide/libraries/form_validation.html#rulereference

    Edit: as a note, you can also set a custom error message with the following:

    $this->form_validation->set_message('is_unique', 'The value you provided in the %s field is not unique. It already exists for another employee.');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 vue3+element-plus页面崩溃
  • ¥15 像这种代码要怎么跑起来?
  • ¥15 怎么改成循环输入删除(语言-c语言)
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误
  • ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
  • ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
  • ¥100 描述一下元器件的基本功能,pcba板的基本原理