2010-01-12 4 views
0

J'ai une appellation Groovy en utilisant Acegi Spring Security.Acegi User Class contraintes sous groovy

ma classe utilisateur se présente comme suit:

class User { 
static constraint = { 
    email(blank:true, nullable:true) 
    description(blank:false, nullable:false) 
    username(blank: false, unique: true) 
     userRealName(blank: false) 
     company(nullable:true, blank:true) 
     authorities() 
     enabled() 
     passwd(blank: false) 
} 

static mapping = { 
    table 'user_table' 
} 

static transients = ['pass'] 
static hasMany = [authorities: Role] 
static belongsTo = Role 
String username 
String userRealName 
String passwd 
boolean enabled 
String email 
boolean emailShow 
String description = '' 
String pass = '[secret]' 

Company company 

}

Notez que la société est annulable et nom d'utilisateur n'est pas annulable. J'ai généré les vues et le contrôleur sans aucun problème. Lorsque j'essaie d'insérer un nouvel utilisateur (sans entreprise), je reçois un message d'erreur disant que la société IS est obligatoire. (Je l'ai vérifié le champ à la DB et il est annulable)

D'autre part, quand je produis un utilisateur sans nom d'utilisateur -qui devrait être forbidden- le validateur doens't signaler toute erreur même si une exception est venir lors de la tentative d'insertion d'un null dans un champ non nullable.

Qu'est-ce que je fais mal ici?

Merci à l'avance,

Luis

Répondre

1

changement "de contrainte statique" aux "contraintes statiques".

+0

Merci! Je me demande vraiment que ce n'est pas une erreur de syntaxe. – Luixv