我使用以下代码来验证我的字段。
如果数字大于10,则显示验证消息。
less_than[10]
现在,如果任何人输入10,则还会显示验证消息。
我需要一个小于或等于10的codeIgniter代码。
提前谢谢。
发布于 2013-07-02 05:36:54
只需使用less_than[11]
,它的工作方式将小于或等于10。
发布于 2013-07-02 06:00:28
在控制器中创建您自己的自定义回调函数,该函数维护表单验证规则并调用form_validation
类:
public function index()
{
//...form stuff
$this->form_validation->set_rules('number', 'Number', 'callback_less_than_or_equal[10]');
//...form stuff
}
public function less_than_or_equal($str, $max)
{
if ( ! is_numeric($str))
{
return FALSE;
}
return $str <= $max;
}
发布于 2014-03-17 02:58:59
您可以向控制器添加回调,但我认为这不是最佳解决方案,因为less_equals
是一个非常常见的规则。
callback_
。对于这个问题(以及is_date
等其他常见规则),我的解决方案是按如下方式扩展表单验证库:
创建application/libraries/MY_form_validation.php
class MY_Form_validation extends CI_Form_validation
{
public function less_equals($str, $min)
{
if ( ! is_numeric($str)) return FALSE;
return $str <= $min;
}
//other rules here...
}
用less_equals
的相应错误消息更新system/languaje/english/form_validation_lang.php
,就完成了!现在,它就像任何其他Codeigniter默认验证规则一样工作。
希望它能帮上忙!
https://stackoverflow.com/questions/17417729
复制相似问题