feizhoulv 发表于 2013-2-26 16:09:12

关于 hex 的hmvc echo validation_errors() 为空字符串的问题

本帖最后由 feizhoulv 于 2013-3-5 11:04 编辑

症状:

在 hex hmvc的 【module/controller/】目录中控制器里头 使用:
$this->load->library('form_validation');
if($this->form_validation->run() == FALSE){
      echo validation_errors();            // 此处 总是输出 '' 空字符串。
}

注:在普通controller中使用可正常显示错误


原因:
在form_helper.php( 大约1038行)

if (FALSE !== ($object = $CI->load->is_loaded('form_validation')))   // 显示form_validation未加载,啥子情况?
{
                if ( ! isset($CI->$object) OR ! is_object($CI->$object))   
                {
                        return $return;
                }

      return $CI->$object;
}

实际上, form_validation 已经加载了, 自行var_dump($this )// 还是var_dump($this->load) ,忘了 。。。

个人猜测:
是变量使用范围的问题。(未验证)


临时解决方法:

在autoload 文件中添加 form_validation
$autoload['libraries'] = array('database', 'session', 'form_validation');


希望 hex 抽时间确认一下, 是不是真有这个问题, 还是其他原因。


smallhe 发表于 2013-2-27 20:15:41

顶上去。。

Hex 发表于 2013-4-18 10:43:32

确实有这个问题,因为我设置module里装载的类库,是和CI原有控制器里装载的类库不冲突,也就是 module 是完全和 CI 隔离的。
这个要解决,我觉得应该是扩展下表单验证类。

kinwyb 发表于 2013-7-4 08:01:10

Hex 发表于 2013-4-18 10:43 static/image/common/back.gif
确实有这个问题,因为我设置module里装载的类库,是和CI原有控制器里装载的类库不冲突,也就是 module 是完 ...

module类库和CI隔绝有什么好处?为什么不直接用CI的类库?

Hex 发表于 2013-7-4 18:03:35

kinwyb 发表于 2013-7-4 08:01 static/image/common/back.gif
module类库和CI隔绝有什么好处?为什么不直接用CI的类库?

我认为的好处,就是解耦,让module和系统完全独立。
当然,这个可能不适合所有场合,属于产品需求问题,可以讨论,呵呵

as3291363 发表于 2014-9-10 11:13:30

頂上去....我也遇到这个问题...
有什么好的办法呢?
我在autoload加载了 都是空白.
页: [1]
查看完整版本: 关于 hex 的hmvc echo validation_errors() 为空字符串的问题