Codeigniter表单验证...形式重新填充

Mic*_*ley 3 php validation codeigniter

我正在创建记录特定页面上的输入表单,例如(property/rental/rec_id).提交时,应插入,验证数据并返回到发送数据的原始页面以及任何相关消息.

  • 如果验证失败,请重新加载表单页面以重新填充表单
  • 回应特定的验证错误 - 例如无效的电子邮件地址等

  • 如果成功,请插入数据,重新加载页面并显示成功消息.

    function class(){

    $this->load->library('form_validation');    
    $this->form_validation->set_rules('name','name','required|trim');
    $this->form_validation->set_rules('email','email','required|trim|valid_email');
    
    $fields['name'] = 'Name';
    $fields['email'] = 'Email Address';
    
    $this->validation->set_fields($fields);
    
    if ($this->form_validation->run() == FALSE) 
    {
        //failed - reload page and re-populate fields with any error messages
    }
    else
    {
         // display form with success message
    }
    
    Run Code Online (Sandbox Code Playgroud)

    }

通常,这可以通过"加载视图"并传递相关数据来重新填充页面,字段或显示消息来完成.但我必须使用"重定向"回到产品特定页面.除了使用会话数据来传递验证错误之外,还有什么好方法吗?

迈克尔,提前谢谢

Ran*_*ell 7

您可以使用该set_value('field_name')功能重新填充表单.视图中的示例用法:

<input type="text name="name" value="<?php echo set_value('name'); ?>" />"

要显示form_validation中的错误,您可以使用该validation_errors()函数.视图中的示例用法:

<?php echo validation_errors(); ?>

另外,请参阅链接文本以获取更多信息.