Kohana:Jelly-AuthとJelly-Formoは一緒にうまく機能しません…エラーを引き起こす

StackOverflow https://stackoverflow.com/questions/3722000

  •  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();
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top