In Kohana 3.2 wird die externe Validierung auf Model_User
Warum wird beim Speichern nicht die richtige Meldung angezeigt?
Ich habe user.php
en application/messages/models
das die "internen" Daten gut liest und übersetzt, während _external.php
wohnt in application/messages/models/user
.
Wenn _externe Daten ungültig sind, wird die Standard-Fehlermeldung von Kohana angezeigt und somit nicht korrekt übersetzt oder mit den richtigen Bezeichnungen von Model_User
.
Bearbeiten, mit Code:
// We have $_POST, register a new user
$user = ORM::factory('user');
/*
* Here a bunch of variables are set
*/
$extra = Validation::factory($_POST)->
rule('email', 'email')-> // I run this check, because in my Model_User, email is filtered through Encrypt
rule('name', 'not_empty'); // Same goes for name
try {
$user->save($extra);
} catch (ORM_Validation_Exception $e) {
$this->template->errors = $e->errors('models', true);
}
Also, wenn $extra
Variablen nicht mit der Regel übereinstimmen, würde ich gerne nette Fehlermeldungen von application/messages/models/user/_external.php
die wie folgt aussieht:
return array(
'email' => array(
'email' => ':field must be a valid email address',
),
'name' => array(
'not_empty' => ':field must not be empty',
),
);
Außerdem wäre es schön, wenn :field aus Model_User "labels" geholt werden würde.