2016-09-06 1 views
1

AdonisJS est un framework Laravelish pour Node.js, mais même après les solutions Laravel, je n'ai pas travaillé.AdonisJS - Impossible de mettre à jour le champ unique

J'ai quelques rules en plaçant deux champ comme unique, mais en le mettant à jour, il échoue accusant d'avoir un existant dans la base de données ou il me permet de dupliquer.

Ce sont les règles:

get rules() { 
    return { 
     name: 'required', 
     username: 'required|alpha_numeric|unique:users,username', 
     email: 'required|email|unique:users,email', 
     firstName: 'required', 
     lastName: 'required', 
     password: 'required|min:8', 
     confirmPassword: 'required|min:8|same:password' 
    } 
    } 

En suivant les exemples que je trouvais, j'ai essayé d'aimer ceci:

username: 'required|alpha_numeric|unique:users,username,id,${this.id}',

Mais il est est pas encore à 100%. Il ne me permet pas de mettre à jour l'utilisateur qui ont déjà eu un tel username ou email, et faire

username: 'required|alpha_numeric|unique:users,id,${this.id}',

Il fait double emploi avec les données d'autres utilisateurs qui était censé être unique.

Répondre

0

Si vous souhaitez utiliser des littéraux de gabarit, vous devez utiliser des guillemets (`) au lieu de guillemets simples/doubles.

username: `required|alpha_numeric|unique:users,username,id,${this.id}`, 

Documentation: Template literals

Note:Unique exemple dans la documentation AdonisJs utilisation des apostrophes inverses (AdonisJs Validation - Unique)