0
是否可以使用codeigniter验证类验证数字和小数值?codeigniter验证数字和小数
因为我需要给用户输入一个数字或十进制值。 Eg: 10 or 1.5 or 30.45
在codeigniter验证类中,它允许单独验证一个数字或十进制数。
有人能告诉我如何在codeigniter中进行验证吗?
是否可以使用codeigniter验证类验证数字和小数值?codeigniter验证数字和小数
因为我需要给用户输入一个数字或十进制值。 Eg: 10 or 1.5 or 30.45
在codeigniter验证类中,它允许单独验证一个数字或十进制数。
有人能告诉我如何在codeigniter中进行验证吗?
<?php
class Form extends CI_Controller
{
public function index()
{
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->form_validation->set_rules('weight', 'Weight', 'required|trim|callback_weight_check');
if ($this->form_validation->run() == FALSE) {
$this->load->view('myform');
} else {
$this->load->view('formsuccess');
}
}
public function weight_check($val)
{
if (!is_int($val) || !is_float($val)) {
$this->form_validation->set_message('weight_check', 'The {field} field must be number or decimal.');
return FALSE;
} else {
return TRUE;
}
}
}
您可以尝试建立自己的回调或使用regex_match规则来做到这一点是这样的:
$this->form_validation->set_rules('cost', 'Cost', array('trim','required','min_length[1]','regex_match[/(^\d+|^\d+[.]\d+)+$/]'));
你必须使用数组的方式来设置的规则,因为正则表达式规则使用管道(|)。