public ValidationException(String msg, Errors errors) { super(msg); fullMessage = formatErrors(errors, msg); this.errors = errors; }
public void putAt(String field, String errorCode) { rejectValue(field, errorCode); } }
public Object getAt(String field) { return getFieldError(field); }
private boolean doValidate(PersistentEntity entity, Object o) { Validator v = datastore.getMappingContext().getEntityValidator(entity); if (v == null) { return true; } Session currentSession = datastore.getCurrentSession(); FlushModeType flushMode = currentSession.getFlushMode(); try { currentSession.setFlushMode(FlushModeType.COMMIT); Errors result = new ValidationErrors(o); v.validate(o, result); if (result.hasErrors()) { onErrors(o, result); return false; } return true; } finally { currentSession.setFlushMode(flushMode); } }
@Override protected void onPersistenceEvent(final AbstractPersistenceEvent event) { if (event instanceof PreInsertEvent) { beforeInsert(event.getEntity(), event.getEntityAccess()); } else if (event instanceof PreUpdateEvent) { beforeUpdate(event.getEntity(), event.getEntityAccess()); } }
protected boolean doValidate(Object entity) { boolean evict = false; GormValidateable validateable = (GormValidateable) entity; if ( !validateable.shouldSkipValidation() && !validateable.validate(validateParams)) { evict = true; if (failOnErrorEnabled) { Errors errors = validateable.getErrors(); throw ValidationException.newInstance("Validation error whilst flushing entity [" + entity.getClass().getName() + "]", errors); } } return evict; }
@Override public HttpResponse<JsonError> handle(HttpRequest request, ValidationException exception) { Errors errors = exception.getErrors(); JsonError error = new JsonError(exception.getMessage()); FieldError fieldError = errors.getFieldError(); if (fieldError != null) { error.path(fieldError.getField()); } error.link(Link.SELF, Link.of(request.getUri())); return HttpResponse.badRequest(error); } }
public boolean beforeInsert(PersistentEntity entity, EntityAccess e) { return doValidate(entity, e.getEntity()); }
/** * Retrieves a validator for an entity * * @param entity The entity The entity * @return The validator or null if there is none */ public Validator getEntityValidator(PersistentEntity entity) { if (entity != null) { Validator validator = entityValidators.get(entity); if(validator == null && validatorRegistry != null) { Validator v = validatorRegistry.getValidator(entity); if(v != null) { entityValidators.put(entity, v); return v; } } return validator; } return null; }
public boolean beforeUpdate(PersistentEntity entity, EntityAccess e) { return doValidate(entity, e.getEntity()); }