J'ai un formulaire d'inscription pour mon client Web et API pour le même formulaire d'inscription. Je veux valider les données de l'API en utilisant les mêmes règles que j'utilise pour le client Web dans le modèle mais je dois afficher des messages différents. Dans le client Web, j'ai des messages comme "'Erreur dans le champ Nom" et pour l'API j'ai besoin d'un message comme "1". Maintenant je fais ceci avec l'instruction if dans le contrôleur, si l'erreur est 'Erreur dans le champ Name', donnez-moi le message '1'. Le problème est que si je dois valider 10 champs, j'ai besoin d'écrire 10 instructions if dans le contrôleur. Y a-t-il une façon plus intelligente de faire cela?CakePHP Validation des messages sur API
Modèle:
class User extends AppModel {
public $validate = array(
'name'=>array(
'rule'=>'notEmpty',
'message'=> ‘Error in field Name’
)
);
}
Contrôleur
class RestUsersController extends AppController {
$errors = $this->User->invalidFields();
if(array_shift(array_slice($errors, 0, 1))== ' Error in field Name '){
$message='1';
}
}
Merci à l'avance!
Merci @ marian0, fonctionne parfaitement pour mon cas, merci pour votre réponse! – DanielPenkov