J'essaie d'écrire un validateur générique personnalisé pour une propriété, pour le rendre générique j'ai besoin d'une référence au nom du champ dans la fermeture, le code est comme suit config.groovyValidateur personnalisé Grails, obtenant une référence au nom du champ
grails.gorm.default.constraints = {
nameShared(validator: {val, obj, errors->
Pattern p = Pattern.compile("[a-zA-Z0-9-]{1,15}")
Matcher m = p.matcher(val)
boolean b = m.matches()
if(!b)
errors.rejectValue('name', "${obj.class}.name.invalid", "Name is invalid")
})
dans ma classe de domaine
class Student{
String name
static constraints = {
name(shared:'nameShared')
}
}
class Teacher{
String firstName
String lastName
static constraints = {
firstName(shared:'nameShared')
}
}
Je veux utiliser le même validateur pour le nom et prenom, mais depuis que je suis le hardcoding fieldName dans le validateur, il sera toujours travailler pour nom et non prénom, donc je veux savoir s'il y a de toute façon je peux obtenir une référence au nom de champ et rendre le validateur générique, s'il vous plaît aider
woah, comment puis-je manquer ça? merci aiolos –