Frage

Der Versuch, die Module zu verwenden: Jelly-Auth und Jelly-Formo verursacht zwei Fehler. Je nachdem, wie ich meine Bootstrap-Datei anordnen kann ich von einem Fehler loszuwerden oder das andere, aber nicht beide ...

Fehler 1: Auth funktioniert gut, formo nicht: 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
  ));

Fehler 2: Formo funktioniert gut, Auth bricht auf Validierung: 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
));

Jede Hilfe wäre sehr geschätzt ... Danke ...

Update: Ich habe Fehler 2 in einer hackish Art und Weise festgelegt ... eine bessere Methode wäre ...

geschätzt werden

ich einfach auf Kommentar Linie 81 und 82 formo-Gelee / classes / Gelee / model.php

Ich möchte in der Lage sein, gallert formo Validierung zu verwenden ... aber da es Probleme mit Auth Validierung jetzt was ... Ich bin bereit, diese zwei Linien für die Zeit verschrotten ... wobei

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

Lösung

Die Inkompatibilität zwischen den Modulen kommt aus kohana-formo-Gelee / classes / Gelee / 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');

Hier ist meine Änderung, ich habe nachdenklich nicht getestet, wie ich nur starten gallert Auth verwenden / 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');
}

Patch: https://github.com/gimpe/kohana-formo- Gelee / commit / e95df23ced9647f41f70f18244dc1794ba7c6bc1

Andere Tipps

Sie sollten immer try...catch() Blöcke verwenden beim Speichern Jelly-Objekte:

try {
    $model->save();
    // object saved successfully
}
catch (Validate_Exception $e)
{
    // get validation errors
    $errors = $e->array->errors();
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top