in tapestry-beanvalidator/src/main/java/org/apache/tapestry5/beanvalidator/modules/BeanValidatorModule.java [94:217]
public static void contributeClientConstraintDescriptorSource(final JavaScriptSupport javaScriptSupport,
final Configuration<ClientConstraintDescriptor> configuration)
{
configuration.add(new BaseCCD(Max.class, "value")
{
@Override
public void applyClientValidation(MarkupWriter writer, String message, Map<String, Object> attributes)
{
javaScriptSupport.require("t5/core/validation");
writer.attributes(
"data-validate", true,
"data-validate-max", attributes.get("value"),
"data-max-message", message);
}
});
configuration.add(new BaseCCD(Min.class, "value")
{
@Override
public void applyClientValidation(MarkupWriter writer, String message, Map<String, Object> attributes)
{
javaScriptSupport.require("t5/core/validation");
writer.attributes(
DataConstants.VALIDATION_ATTRIBUTE, true,
"data-validate-min", attributes.get("value"),
"data-min-message", message);
}
});
configuration.add(new BaseCCD(NotNull.class)
{
@Override
public void applyClientValidation(MarkupWriter writer, String message, Map<String, Object> attributes)
{
javaScriptSupport.require("t5/core/validation");
writer.attributes(
DataConstants.VALIDATION_ATTRIBUTE, true,
"data-optionality", "required",
"data-required-message", message);
}
});
configuration.add(new BaseCCD(Null.class)
{
@Override
public void applyClientValidation(MarkupWriter writer, String message, Map<String, Object> attributes)
{
javaScriptSupport.require(MODULE_NAME);
writer.attributes(
DataConstants.VALIDATION_ATTRIBUTE, true,
"data-optionality", "prohibited",
"data-prohibited-message", message);
}
});
configuration.add(new BaseCCD(Pattern.class, "regexp")
{
@Override
public void applyClientValidation(MarkupWriter writer, String message, Map<String, Object> attributes)
{
javaScriptSupport.require(MODULE_NAME);
writer.attributes(
DataConstants.VALIDATION_ATTRIBUTE, true,
"data-validate-regexp", attributes.get("regexp"),
"data-regexp-message", message);
}
});
configuration.add(new BaseCCD(Size.class, "min", "max")
{
@Override
public void applyClientValidation(MarkupWriter writer, String message, Map<String, Object> attributes)
{
javaScriptSupport.require(MODULE_NAME);
writer.attributes(
DataConstants.VALIDATION_ATTRIBUTE, true,
"data-range-message", message);
int min = (Integer) attributes.get("min");
if (min != 0)
{
writer.attributes("data-range-min", min);
}
int max = (Integer) attributes.get("max");
if (max != Integer.MAX_VALUE)
{
writer.attributes("data-range-max", max);
}
}
});
configuration.add(new BaseCCD(AssertTrue.class)
{
@Override
public void applyClientValidation(MarkupWriter writer, String message, Map<String, Object> attributes)
{
javaScriptSupport.require("t5/core/validation");
writer.attributes(
DataConstants.VALIDATION_ATTRIBUTE, true,
"data-expected-status", "checked",
"data-checked-message", message);
}
});
configuration.add(new BaseCCD(AssertFalse.class)
{
@Override
public void applyClientValidation(MarkupWriter writer, String message, Map<String, Object> attributes)
{
javaScriptSupport.require("t5/core/validation");
writer.attributes(
DataConstants.VALIDATION_ATTRIBUTE, true,
"data-expected-status", "unchecked",
"data-checked-message", message);
}
});
}