我的html中有三个字段,一个是mobile_min,mobile_max和第三个字段 我采取的是测试,这是一个输入字段。所以我必须做的事情 使用自定义消息创建自定义验证,其中我的要求是mobile_min值,在提交from后,不应大于mobile_max值。所以我的代码工作正常,但我收到此消息"最小值不是需要大于最大值字段。" 但我希望此消息"最小值不大于最大值字段。" .I还阅读了CI的自定义消息规则,但它无法正常工作。
Html字段代码
<html>
<input type=text name=mobile_min>
<input type=text name=mobile_max>
<input type=hidden name=test>
</html>
控制器验证码
<?php
if($this->input->post('mobile_min')>$this->input->post('mobile_max'))
{
$this->form_validation->set_rules('test', 'Min value is not greater than max value','trim|required');
}
?>
请先帮助我。
答案 0 :(得分:1)
使用codeigniter表单验证回拨https://www.codeigniter.com/user_guide/libraries/form_validation.html#callbacks-your-own-validation-methods
控制器功能:
<?php
class Controllername extends CI_Controller {
public function index() {
$this->load->library('form_validation');
$this->load->helper('form');
$this->form_validation->set_rules('mobile_min', 'mobile min', 'required');
$this->form_validation->set_rules('mobile_max', 'mobile max', 'required|callback_somename');
if ($this->form_validation->run() == TRUE) {
/// Success data.
}
$this->load->view('some_view');
}
public function somename() {
if($this->input->post('mobile_min') > $this->input->post('mobile_max')) {
$this->form_validation->set_message('somename', 'Min value is not greater than max value');
return FALSE;
}
}
}
查看
<?php echo form_open('controllername'); ?>
<?php echo validation_errors();?>
<?php echo form_input('mobile_min', '', array('id' => 'mobile_min'));?>
<?php echo form_input('mobile_max', '', array('id' => 'mobile_max'));?>
<button type="submit" class="btn btn-primary">Submit</button>
<?php echo form_close();?>