Кохана: Jelly-Auth и Jelly-Formo не будут хорошо играть вместе ... вызывают ошибки - PullRequest
0 голосов
/ 16 сентября 2010

Попытка использовать модули: Jelly-Auth и Jelly-Formo вызывает 2 ошибки.В зависимости от того, как я упорядочил свой файл boostrap, я могу избавиться от одной или другой ошибки, но не от обеих ...

Ошибка 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 ... но поскольку это вызывает проблемы с проверкой подлинности прямо сейчас ... Я готовотбросьте эти две строки в настоящее время ...

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

Ответы [ 2 ]

1 голос
/ 26 ноября 2010

Несовместимость между модулями проистекает из 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

0 голосов
/ 16 сентября 2010

При сохранении объектов Jelly всегда следует использовать блоки try...catch():

try {
    $model->save();
    // object saved successfully
}
catch (Validate_Exception $e)
{
    // get validation errors
    $errors = $e->array->errors();
}
...