On Thu, 19 Mar 2015 04:08:05 -0300, Andrea Cerfogli <a.cerfo...@gmail.com>
wrote:
Hello,
Hi!
I'm using Tapestry 5.4 beta 27 on java 1.7.0_76 with Windows 8.1.
I'm not sure this is the right place where describe a potential bug.
I believe this should have been posted to the users mailing list first.
I put my very simplified class.
I have an entity with two Date fields:
@Entity
@Table(name = "testparent", schema = "phoenix")
public class TestParent implements Serializable{
@Property
@ValidateDb (name="V1")
@Column(name = "F7dateReq")
public Date f7datereq;
@Property
@ValidateDb (name="V2")
@Column(name = "F14datetimeReq")
public Date f14datetimeReq;
}
and a custom ValidateDb ConstraintValidator that ensure that date values
are mandatory:
@Constraint(validatedBy = ValidateDbValidator.class)
@Target({ METHOD, FIELD, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Documented
public @interface ValidateDb {
String message() default "{com.acme.constraint.Range.message}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
String name() default "";
}
public class ValidateDbValidator implements
ConstraintValidator<ValidateDb, Object> {
@Override
public void initialize(ValidateDb constraintAnnotation) {
}
public boolean isValid(Object value, ConstraintValidatorContext
context) {
String errorMessage=null; if (value==null)
errorMessage="{validateDb.constraint.notNull}";
context.disableDefaultConstraintViolation(); if
(errorMessage==null || "".equals(errorMessage.trim()))
{
context.buildConstraintViolationWithTemplate("").addConstraintViolation();
return true; }
else
{
context.buildConstraintViolationWithTemplate(errorMessage).addConstraintViolation();
return false;
}
}
}
I'm using the standard bean edit form and when I press the "Save"
button, the alert message appears in this way
In other words I get just one message referring the wrong input
component while I should get two distinct error messages, >one for each
field.
If I use two String fields instead of date fields, the messages are right
--
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br