0

在 datamapper 中,您可以$u->error_message('custom', 'This is a custom error message.');在保存时验证失败时设置错误消息。

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

任何人都知道实现这一目标的方法吗?

4

2 回答 2

0

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

/**
     * 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};
        }
    }
于 2013-05-23T14:41:26.880 回答
0

您不能在成功后简单地将值解析到视图文件吗?

控制器:

/* Validated code */

/* Updates / Inserts */

$data['success_update'] = TRUE;

看法:

<? if ( ! empty($success_update)): ?>
<div id="success_update">
    Thingie updated successfully
</div>
<? endif; ?>
于 2013-05-23T07:13:54.527 回答