Domanda

Cercando di utilizzare moduli: Gelatina-Auth e Gelatina-Formo provoca 2 errori. A seconda di come mi arrangio mio file di bootstrap posso liberarmi di un errore o l'altro, ma non entrambi ...

Errore 1: Auth funziona bene, formo non lo fa: 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
  ));

Errore 2: Formo funziona bene, si rompe auth sulla convalida: 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
));

Qualsiasi aiuto sarebbe molto apprezzato ... grazie ...

Aggiornamento: Mi sono Errore 2 fisse in una sorta di hacker modo ... un metodo migliore sarebbe apprezzato ...

semplicemente commentata linea 81 e 82 di formo-gelatina / classi / gelatina / model.php

Mi piacerebbe essere in grado di utilizzare la convalida gelatinosa formo ... ma come sta causando problemi con la convalida Auth in questo momento ... io sono disposto a scartare quelle due righe per il momento ...

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

Soluzione

L'incompatibilità tra i moduli viene da kohana-formo-gelatina / classi / gelatina / 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');

Ecco il mio cambiamento, non ho provato pensieroso come sto solo iniziando a utilizzare gelatina-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');
}

patch: https://github.com/gimpe/kohana-formo- gelatina / commit / e95df23ced9647f41f70f18244dc1794ba7c6bc1

Altri suggerimenti

Si dovrebbe sempre utilizzare i blocchi try...catch() quando gli oggetti salvataggio Jelly:

try {
    $model->save();
    // object saved successfully
}
catch (Validate_Exception $e)
{
    // get validation errors
    $errors = $e->array->errors();
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top