0

モジュールを使用しようとしています: Jelly-AuthJelly-Formoが 2 つのエラーを引き起こしています。ブーストラップファイルをどのように配置するかによって、どちらか一方のエラーを取り除くことができますが、両方を取り除くことはできません...

エラー 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 を修正しました...より良い方法をいただければ幸いです...

formo-jelly/classes/jelly/model.phpの 81 行目と 82 行目をコメントアウトしただけです。

ジェリーフォルモバリデーションを使えるようにしたいのですが、現在 Auth バリデーションで問題が発生しているので、とりあえずその 2 行は破棄したいと思います...

81: if ( ! $this->form->validate(TRUE))
82:     throw new Validator_Exception($this->form->errors(), 'Failed to validate form');
4

2 に答える 2

1

モジュール間の非互換性は、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');

これが私の変更です。jelly-auth/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/e95df23ced9647f41f70f18244dc1794ba7c6bc1

于 2010-11-26T16:29:30.007 に答える
0

try...catch()Jelly オブジェクトを保存するときは、常にブロックを使用する必要があります。

try {
    $model->save();
    // object saved successfully
}
catch (Validate_Exception $e)
{
    // get validation errors
    $errors = $e->array->errors();
}
于 2010-09-16T06:44:14.397 に答える