Как сказал Влад, я также думаю, что в разметке нет встроенной проверки регулярных выражений в разметке, в конце этой ссылки поддерживаются поддерживаемые валидаторы (но, возможно, в используемой вами версии, не совсем уверен в этом).
Может быть, вы могли бы попытаться как-то использовать обработчик события onValidate lifeCycle, чтобы проверить это поле на предмет неправильного ввода.
@Component
private Form yourForm;
@Property
private String inputFromField;
public void onValidate() {
Pattern p = Pattern.compile("^[a-zA-Z0-9]+$");//Alpha numeric regexp
Matcher m = p.matcher(inputFromField);
if(m.find()) {
yourForm.recordError(inputFromField,messages.get("This field can only contain letters and numbers"));
}
}
В любом случае, я уверен, что есть несколько способов сделать это, но это всего лишь пример.
Я не скомпилировал и не попробовал, но я уверен, что это один из способов, который можно сделать. Если вам нужна дополнительная помощь, взгляните на эту страницу: http://www.packtpub.com/article/user-input-validation-in-tapestry-5
Не забудьте добавить тег в форму.
Обновление
Я был неправ, когда сказал, что невозможно использовать регулярное выражение непосредственно в разметке.
Посмотрев на ссылку Хеннинга, я увидел, что есть возможность использовать регулярное выражение напрямую, как вы планировали.
Пример:
<t:textfield value="otherfield" validate="regexp=^a-z+$" />
Я бы порекомендовал вам взглянуть на указанную им ссылку, там все хорошо объяснено (Для Гобелена 5): http://tapestry.apache.org/forms-and-validation.html