扩展方法
在library文件夹下创建MY_Form_validation.php文件,并继承框架原生表单验证类,注意MY_
前缀要跟自定义类前缀一只,不然验证方法不生效<?php defined('BASEPATH') OR exit('No direct script access allowed'); class MY_Form_validation extends CI_Form_validation { function __construct() { parent::__construct(); } //验证正整数 public function positive_integer($number,$param = '') { $error = 0; if (empty($number)||$number=='') { $error++; } if (!preg_match("/^[1-9]{1}[0-9]*$/",$number)) { $error++; } if ($error === 0) { return true; }else{ $this->CI->form_validation->set_message('positive_integer', '{field}格式错误,必须为正整数'); return false; } } } ?>
- 遇到的坑
新建文件的时候把文件名和类名写成了MY_form_validation
,在Windows下面可以正确运行扩展的表单验证函数,上传到服务器后就不能运行了,一开始以为是php版本的问题,因为本地是php5.5.9版本,服务器是php5.6.31版本。后来才发现原来是大小写的问题,Linux区分大小写,Windows不区分大小写,所以在Windows下写成MY_form_validation
也可以运行。最后,只需要把文件名和类名写成MY_Form_validation
方可解决这个问题!
版权属于:
basil
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权