Kohana:Jelly-AuthとJelly-Formoは一緒にうまく機能しません…エラーを引き起こす
-
03-10-2019 - |
質問
モジュールを使用しようとしています: ゼリー・アウト と ゼリーフォーマ 2つのエラーが発生しています。 Boostrapファイルをどのように配置するかに応じて、1つのエラーを取り除くことができますが、両方ではありません...
エラー1:AUTHは正常に動作します、Formoは次のとおりです。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は正常に動作し、認証が検証時に破損します: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が修正されました...より良い方法が高く評価されます...
私は単に81行目と82行をコメントしました Formo-Jelly/classes/jelly/model.php
Jelly-Formoの検証を使用できるようになりたいのですが...しかし、それは今のところ認証検証に問題を引き起こしているので...当面はこれらの2つの行を廃棄することをいとわない...
81: if ( ! $this->form->validate(TRUE))
82: throw new Validator_Exception($this->form->errors(), 'Failed to validate form');
解決
モジュール間の非互換性は、Kohana-Formo-Jelly/Classes/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');
これが私の変化です。私はゼリー・オーース/フォームを使用し始めているだけなので、思慮深くテストしませんでした:
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/e95df23ced9647f41f70f18244dc1794ba7c6bc1
他のヒント
常に使用する必要があります try...catch()
ゼリーオブジェクトを保存するときのブロック:
try {
$model->save();
// object saved successfully
}
catch (Validate_Exception $e)
{
// get validation errors
$errors = $e->array->errors();
}