【问题标题】:Why isn't my CodeIgniter Form Validation working?为什么我的 CodeIgniter 表单验证不起作用?
【发布时间】:2010-06-13 19:31:46
【问题描述】:

我正在尝试在使用表单助手创建的简单联系表单上设置验证。根本不会发生验证。怎么了?

在下面的代码中,“good”关键字始终显示,无论在表单中输入什么内容,并且从不显示通过 set_value 设置的保存值。

控制器

// Contact
    function contact() {
        $data['pageTitle'] = "Contact";
        $data['bodyId'] = "contact";

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

        $config_rules = array ('email' => 'required','message' => 'required');

        $this->form_validation->set_rules($config_rules);

        if ($this->form_validation->run() == FALSE) {
            echo "bad";            
            $data['include'] = "v_contact";    
            $this->load->view('v_template',$data);

        } else {
            echo "good";
            $data['include'] = "v_contact";        
            $this->load->view('v_template',$data);
        }

    }

查看

echo validation_errors();
echo form_open('events/contact');

// name
echo form_label('Name', 'name');
$data = array (
        'name' => 'name',
        'id' => 'name',
        'maxlength' => '64',
        'size' => '40',
        'value' => set_value('name')
    );
echo form_input($data) . "\n<br />";

// email address
echo form_label('Email Address', 'email');
$data = array (
        'name' => 'email',
        'id' => 'email',
        'maxlength' => '64',
        'size' => '40',
        'value' => set_value('email')
    );
echo form_input($data) . "\n<br />";

// message
echo form_label('Message', 'message');
$data = array (
        'name' => 'message',
        'id' => 'message',
        'rows' => '8',
        'cols' => '35',
        'value' => set_value('message')
    );
echo form_textarea($data) . "\n<br />";

echo form_submit('mysubmit', 'Send Message');

echo form_close(); 

【问题讨论】:

    标签: php codeigniter validation


    【解决方案1】:

    您似乎没有按照新的Form_validation 库的方式设置验证规则(用户指南在新语法上有section)。这似乎是旧 Validation 库的语法。

    对您的 $config_rules 数组试试这个,看看您的验证是否正常运行:

    $config_rules = array(
        array('field' => 'email', 'rules' => 'required'), 
        array('field' => 'message', 'rules' => 'required')
    );
    
    $this->form_validation->set_rules($config_rules);
    

    【讨论】:

      猜你喜欢
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      • 2013-09-23
      • 2021-06-24
      相关资源
      最近更新 更多