Kohana:Jelly-Auth和Jelly-Formo不会一起发挥好作用……导致错误
-
03-10-2019 - |
题
尝试使用这些模块: 果冻作者 和 果冻格式 正在造成2个错误。根据我安排Boostrap文件的方式,我可以摆脱一个错误或另一个错误,但不能同时放置...
错误1:auth的工作正常,福利不:http://wellcommentedcode.com/stack_questions/formo.jpg
Kohana::modules(array(
'database' => MODPATH.'database', // Database access
'jelly' => MODPATH.'jelly', // Jelly ORM
'jelly-auth' => MODPATH.'jelly-auth', // Basic authentication & Jelly
'auth' => MODPATH.'auth', // Basic authentication
'formo-jelly' => MODPATH.'formo-jelly', // Easy forms & Jelly
'formo' => MODPATH.'formo', // Easy forms
));
错误2:Formo效果很好,Auth在验证方面破裂:http://wellcommentedcode.com/stack_questions/formo-auth.jpg
Kohana::modules(array(
'database' => MODPATH.'database', // Database access
'formo-jelly' => MODPATH.'formo-jelly', // Easy forms & Jelly
'formo' => MODPATH.'formo', // Easy forms
'jelly' => MODPATH.'jelly', // Jelly ORM
'jelly-auth' => MODPATH.'jelly-auth', // Basic authentication & Jelly
'auth' => MODPATH.'auth', // Basic authentication
));
任何帮助都将不胜感激...谢谢...
更新:我得到了错误2的错误2,以一种刺激的方式...将不胜感激的方法...
我只是评论了第81和82行 formo-jelly/class/jelly/model.php
我希望能够使用果冻 - 格式验证...但是由于它现在引起了验证验证问题...我愿意暂时将这两行报废...
81: if ( ! $this->form->validate(TRUE))
82: throw new Validator_Exception($this->form->errors(), 'Failed to validate form');
解决方案
模块之间的不相容性来自kohana-Formo-Jelly/class/jelly/model.php:
// If the formo object to validate against doesn't exist, make it
$this->generate_form();
if (!$this->form->validate(TRUE))
throw new Validator_Exception($this->form->errors(), 'Failed to validate form');
这是我的更改,我没有经过深思熟虑的测试,因为我刚开始使用果冻/formo:
if (isset($this->form))
{
// If the formo object to validate against doesn't exist, make it
$this->generate_form();
if (!$this->form->validate(TRUE))
throw new Validator_Exception($this->form->errors(), 'Failed to validate form');
}
修补: https://github.com/gimpe/kohana-formo-jelly/commit/e95df23ced9647f41f41f70f18244dc1794ba7c6bc1
其他提示
你应该始终使用 try...catch()
保存果冻对象时的块:
try {
$model->save();
// object saved successfully
}
catch (Validate_Exception $e)
{
// get validation errors
$errors = $e->array->errors();
}
不隶属于 StackOverflow