7.2 Validating Constraints - Reference Documentation
Authors: Graeme Rocher, Peter Ledbrook, Marc Palmer, Jeff Brown, Luke Daley, Burt Beckwith
Version: null
7.2 Validating Constraints
Validation Basics
Basicos de Validacion
Call the validate method to validate a domain class instance:
Llame al metodo validate para validar la instancia de una clase de dominio:def user = new User(params)if (user.validate()) { // do something with user } else { user.errors.allErrors.each { println it } }
The
La propiedad errors property on domain classes is an instance of the Spring Errors interface. The Errors interface provides methods to navigate the validation errors and also retrieve the original values.
errors en las clases de dominio es una instancia de la interfaz Errors de Spring. La interfaz Errors provee metodos para navegar por los errores de validacion y tambien obtener los valores originales.Validation Phases
Fases de Validacion
Within Grails there are two phases of validation, the first one being data binding which occurs when you bind request parameters onto an instance such as:
Dentro de Grails existen dos fases de validacion, la primera siendo data binding la cual ocurre cuando se ligan los parametros de la peticion dentro de una instancia tal como:def user = new User(params)
At this point you may already have errors in the
En este punto puede ya haber errores en la propiedad errors property due to type conversion (such as converting Strings to Dates). You can check these and obtain the original input value using the Errors API:
errors por el tipo de conversion (tal como convertir cadenas en fechas). Puede checar estos y obtener el valor original que se introdujo usando la API de Errors:if (user.hasErrors()) { if (user.errors.hasFieldErrors("login")) { println user.errors.getFieldError("login").rejectedValue } }
The second phase of validation happens when you call validate or save. This is when Grails will validate the bound values againts the constraints you defined. For example, by default the save method calls
La segunda fase de validacion ocurre cuando se llama a validate o save. Aqui es cuando Grails validara los valores obligados contra las constraints que usted definio. Por ejemplo, por defecto el metodo save llama a validate before executing, allowing you to write code like:
validate antes de ejecutarlo, permitiendole escribir codigo como:if (user.save()) { return user } else { user.errors.allErrors.each { println it } }

