据我所知,CI 并不是开箱即用的,但它很容易实现:
首先,(如果您还没有此文件)在 application/libraries/ 中创建文件 MY_Form_validation.php,其中包含以下内容:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Form_validation extends CI_Form_validation {
public function __construct($rules = array())
{
parent::__construct($rules);
}
}
然后将以下方法添加到该类:
/**
* First Error
*
* Returns the first error messages as a string, wrapped in the error delimiters
*
* @access public
* @param string
* @param string
* @return str
*/
public function first_error($prefix = '', $suffix = '')
{
// No errrors, validation passes!
if (count($this->_error_array) === 0)
{
return '';
}
if ($prefix == '')
{
$prefix = $this->_error_prefix;
}
if ($suffix == '')
{
$suffix = $this->_error_suffix;
}
// Generate the error string
$str = '';
foreach ($this->_error_array as $val)
{
if ($val != '')
{
return $prefix.$val.$suffix."\n";
}
}
return $str;
}
这样你就可以通过$this->form_validation->first_error()访问它
或者,您可以通过(如果文件不存在)在 application/helpers/
中创建一个名为
MY_form_helper.php 的文件来创建类似于
validation_errors() 的辅助函数
然后添加以下代码:
/**
* First Validation Error String
*
* Returns the first error associated with a form submission. This is a helper
* function for the form validation class.
*
* @access public
* @param string
* @param string
* @return string
*/
if ( ! function_exists('first_validation_error'))
{
function first_validation_error($prefix = '', $suffix = '')
{
if (FALSE === ($OBJ =& _get_validation_object()))
{
return '';
}
return $OBJ->first_error($prefix, $suffix);
}
}
希望这会有所帮助!