2012-03-16 18 views
0

我使用Tapestry 4如何使用翻译器和/或验证器来创建Tapestry 4中所需的字符串字段?

我有几个的TextField其值传递到在页面类的字符串,而他们工作的伟大,只要有在田野里一些内容。他们大多是可选的,所以我相信在这种情况下,我可以使用StringTranslatorempty=,但对于需要值的几个字段,我很难验证工作。

我希望有一个简单required验证工作:

<component id="myRequiredField" type="TextField"> 
    <binding name="value" value="ognl:stringValue" /> 
    <binding name="validators" value="validators:required" /> 
</component> 

做不到这一点,我希望minLength工作:

<component id="myRequiredField" type="TextField"> 
    <binding name="value" value="ognl:stringValue" /> 
    <binding name="validators" value="validators:required,minLength=1" /> 
</component> 

在验证这两种尝试允许值与getStringValue()检索为空在表格提交后。我FormSubmit组件看起来像:

<component id="myUpdateForm" type="Form"> 
    <binding name="delegate" value="beans.validationDelegate" /> 
</component> 
<component id="submitUpdate" type="Submit"> 
    <binding name="action" value="listener:doUpdate" /> 
</component> 
+0

我知道这不能帮助您目前的问题,但我建议您升级到挂毯5 .. – pstanton 2012-03-17 00:07:15

回答

1

事实证明,确认是工作,但我不检查对输入数据进行操作之前,我确认委托是否有错误。下面似乎是正确的方法采取任何聆听者取决于验证,给定在问题中列出的设置:

@Bean 
public abstract ValidationDelegate getValidationDelegate(); 

public void doUpdate() {  
    if (!getValidationDelegate().getHasErrors()) { 
     // business logic 
    } 
} 
相关问题