Kohana: Jelly-Auth e Jelly-Formo non giocherà bene insieme ... causare errori
-
03-10-2019 - |
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');
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();
}