Codeigniter 仅显示第一个错误

Codeigniter 仅显示第一个错误,codeigniter,validation,Codeigniter,Validation,我使用codeigniter form_validation类来执行许多验证,因为codeigniter验证所有字段,然后显示所有错误的列表,所以我需要将此限制为仅显示发生的第一个错误 例如 若我有两个(电子邮件、消息)字段,其中有必需的验证,并且若我将两个字段都留空。我需要codeigniter仅显示电子邮件字段所需的错误。据我所知,CI并没有现成的功能,但它很容易实现: 首先,(如果您还没有此文件)在应用程序/库/中创建文件MY\u Form\u validation.php,如下所示: &

我使用codeigniter form_validation类来执行许多验证,因为codeigniter验证所有字段,然后显示所有错误的列表,所以我需要将此限制为仅显示发生的第一个错误

例如


若我有两个(电子邮件、消息)字段,其中有
必需的
验证,并且若我将两个字段都留空。我需要codeigniter仅显示电子邮件字段所需的错误。

据我所知,CI并没有现成的功能,但它很容易实现:

首先,(如果您还没有此文件)在应用程序/库/中创建文件
MY\u Form\u 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);
    }
}
这样,您就可以使用
$This->form\u validation->first\u error()

或者,您可以通过(如果文件不存在)在应用程序/helpers/中创建名为
MY\u form\u helper.php的文件来创建类似于
validation\u 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);
    }
}

希望这有帮助

据我所知,CI并不是现成的,但它很容易实现:

首先,(如果您还没有此文件)在应用程序/库/中创建文件
MY\u Form\u 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);
    }
}
这样,您就可以使用
$This->form\u validation->first\u error()

或者,您可以通过(如果文件不存在)在应用程序/helpers/中创建名为
MY\u form\u helper.php的文件来创建类似于
validation\u 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);
    }
}

希望这有帮助

最好是添加一些代码来更好地解释问题所在。最好是添加一些代码来更好地解释问题所在。