Codeigniter 使用valdiation错误消息返回警告

Codeigniter 使用valdiation错误消息返回警告,codeigniter,codeigniter-datamapper,Codeigniter,Codeigniter Datamapper,在datamapper中,您可以使用$u->error_message('custom','这是一条自定义错误消息')设置保存时验证失败时的错误消息 然而,我希望能够使用此方法返回消息,即使在验证没有严格失败的情况下,如保存后的警告或状态消息,我希望返回给用户 有人知道实现这一目标的方法吗 成功后,您不能简单地解析视图文件的值吗 控制器: /* Validated code */ /* Updates / Inserts */ $data['success_update'] = TRUE;

在datamapper中,您可以使用
$u->error_message('custom','这是一条自定义错误消息')
设置保存时验证失败时的错误消息

然而,我希望能够使用此方法返回消息,即使在验证没有严格失败的情况下,如保存后的警告或状态消息,我希望返回给用户


有人知道实现这一目标的方法吗

成功后,您不能简单地解析视图文件的值吗

控制器:

/* Validated code */

/* Updates / Inserts */

$data['success_update'] = TRUE;
<? if ( ! empty($success_update)): ?>
<div id="success_update">
    Thingie updated successfully
</div>
<? endif; ?>
查看:

/* Validated code */

/* Updates / Inserts */

$data['success_update'] = TRUE;
<? if ( ! empty($success_update)): ?>
<div id="success_update">
    Thingie updated successfully
</div>
<? endif; ?>

Thingie已成功更新

感谢您的回复,通过查看datamapper源代码,我发现当$item->error->all不为空时,验证会失败。因此,我可以在datamapper库中添加一个方法,除了填充$item->error->all数组之外,该方法的作用与$item->error\u message()完全相同。像这样:

/**
     * Status Message
     *
     * Adds an status message to this objects error object.
     *
     * @param string $field Field to set the error on.
     * @param string $error Error message.
     */
    public function status_message($field, $error)
    {
        if ( ! empty($field) && ! empty($error))
        {
            // Set field specific value
            $this->error->{$field} = $this->error_prefix . $error . $this->error_suffix;

            // Add field error to errors all list
            // $this->error->all[$field] = $this->error->{$field};

            // Append value to error message string
            $this->error->string .= $this->error->{$field};
        }
    }

在CI用户手册中查找验证回调。