Validación de nulos condicional de Grails o validador personalizado con opción de nul

Tengo un formulario para crear un lugar. Dependiendo del país, el campo de la provincia (estado, región) es obligatorio o no.

Cuando no es necesario, quiero ser nulo, no una cadena vacía. Tengo un código que hace que todos los campos de formulario vacíos, null:

def newparams = [:]
        place = new Place()
        params.each() { k, v ->
            if (v instanceof String && place.hasProperty(k)) {
                if (!v.trim().length()) {
                    newparams[k] = null
                } else {
                    newparams[k] = v
                }
            }
        }

        place = new Place(newparams)
        place.validate()

Ahora, en el dominio del lugar, tengo un validador en la provincia:

province validator:  {val, obj -> if (obj.country in obj.requiresRegionCountries() && !obj.province) return [province.required]}

Con esta regla, siempre obtengo "la provincia no puede ser nula", incluso si se requiere o no.

Creo que esto se debe a que el validador anulable que se establece por defecto es falso

Si estoy agregando nullable: true, entonces incluso si se requiere la provincia, el validador personalizado se omite y es posible guardar con la provincia vacía (creo que es porque se crea una instancia con nulo)

Ahora, de alguna manera necesito mi validador personalizado y también la capacidad de especificar el nullable en mi validador, algo como esto:

province validator:  {val, obj -> 
  if (obj.country in obj.requiresRegionCountries() && !obj.province) { 
    nullable: false
    return [province.required] }
  else {
    nullable: true
  }
}

¿Cómo puedo lograr esto en Grails 2.0.3?

Respuestas a la pregunta(2)

Su respuesta a la pregunta