Codeigniter数组后端验证 [英] Codeigniter array backend validation
本文介绍了Codeigniter数组后端验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用了一个表单,里面包含一个div和一对动态添加的输入字段。
I'm using a form, inside which contains a div with a pair of input field which is added dynamically.
查看:
<?php echo form_open_multipart('location/add'); ?>
<div>
<input type="text" name="title[]"/>
<div id="infoMessage"><?php echo form_error('title[]'); ?></div>
</div>
<div>
<input type="text" name="desc[]"/>
<div id="infoMessage"><?php echo form_error('desc[]'); ?></div>
</div>
<div>
<input type="text" name="link[]"/>
<div id="infoMessage"><?php echo form_error('link[]'); ?></div>
</div>
<input type="submit" name="" value="enter">
<?php echo form_close(); ?>
现在,最初我不想验证这3个输入字段,但我想要动态添加的所有输入字段的后端验证(通过单击 +
)在按提交按钮。
Now, Initially I don't want validation for this 3 input fields but I want the backend validation for all the input fields that are going to add dynamically(by clicking on +
) on pressing submit button.
CONTROLLER:
public function add()
{
$this->form_validation->set_rules('title[]','Title','required');
$this->form_validation->set_rules('desc[]','Description','required');
$this->form_validation->set_rules('link[]','Link','required');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('test');
}
else
{
....
}
}
推荐答案
您可以使用自定义回调验证函数
EX:
You can use custom callback validation function EX:
public function add()
{
$this->form_validation->set_rules('title', 'Title', 'callback_title_validate');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('test');
}
else
{
//....
}
}
function title_validate($title){
foreach($title as $key=>$value){
if($title[$key]==null || $title[$key]==false){
$this->form_validation->set_message('title_validate', 'The Title field is Required.');
return FALSE;
}
}
return TRUE;
}
这篇关于Codeigniter数组后端验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文