我必须在codeIgniter中的form_validation期间设置/显示表单字段中的值,但是不使用set_value函数设置/显示数据。
这是我的代码,
查看页面 -
login_form.php
<?= form_open('admin/login');?>
<?= form_label('Username','username'); ?>
<?= form_input(['id'=>"username", 'placeholder'=>"Username", "name"=>"username", 'value'=>set_value('username')]); ?><br>
<?= form_error('username'); ?>
<br>
<?= form_label('Password', 'Password'); ?>
<?= form_password(["id"=>"password", "placeholder"=>"Password",
"name"=>"pass", "value"=>set_value('pass')]); ?>
<?= form_error('pass') ?>
<br>
<?php echo form_submit(['value'=>'Login']); ?>
<?= form_close(); ?>
控制器 -
admin.php的
public function login(){
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'User Name', 'required|alpha|trim');
$this->form_validation->set_rules('pass', 'Password', 'required');
if($this->form_validation->run()):
echo "Validation Success";
else:
$this->load->view('login_form']);
endif;
}
请帮助并就此提出建议。
答案 0 :(得分:1)
如果您没有自动加载表单助手添加
$this->load->helper(array('form', 'url'));
并在form_open
之前添加validation_errors<?php echo validation_errors(); ?>
了解更多数据,请检查Codeigniter Validation Form
答案 1 :(得分:1)
试试这个
if ($this->form_validation->run() == FALSE) {
echo "Validation Success";
else:
$this->load->view('login_form']);
endif;
}
答案 2 :(得分:1)
正如我在评论中提到你的那样。只需在你的领域设定价值......
<?= form_input(['id'=>"username", 'placeholder'=>"Username", "name"=>"username", 'value'=>'Sandeep']); ?><br>
然后它将创建一个值为Sandeep
的输入字段。
答案 3 :(得分:0)
对于我来说,当我在助手中添加“表单”时,问题就解决了
$autoload['helper'] = array('form');
答案 4 :(得分:0)
验证失败时您可能正在重定向,您需要再次加载表单。