java - 如何为 beaneditform 上的密码字段制作正则表达式?

标签 java tapestry

我尝试在 beaneditform 上为密码字段创建正则表达式,但密码字段无法识别正则表达式???请有什么建议吗??? :)

addUser.tml

<t:beaneditform t:id="newUser" exclude="id" reorder="userName,password,fullName,Gender,email,role">
..........................
<t:parameter t:name="password">
            <t:label t:for="password" />
            <t:passwordfield t:id="password" t:value="newUser.password" t:validate="required,regexp"/>
        </t:parameter>
.......................
</t:beaneditform>

addUser.properties

password-regexp=^[a-z0-9_]{3,15}$ 
password-regexp-message=password only alowed letters [a-z] numbers[0-9] and underscore

addUser.java:

@Persist
    @Property
    private User newUser;

最佳答案

正如 Vlad 所说,我也认为在 Tapestry 中,标记中没有集成的正则表达式检查,请参阅此 link最后是支持的 validator (但也许您正在使用的版本中有,对此不太确定)。

也许您可以尝试以某种方式使用 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

请记住将标签添加到您的表单中。

更新

当我说不可能在标记中直接使用正则表达式时,我错了。 查看 Heanning 的链接后,我发现可以按照您的计划直接使用正则表达式。 示例:

<t:textfield value="otherfield" validate="regexp=^a-z+$" />

我建议你看看他说的链接,那里有很好的解释(对于Tapestry 5):http://tapestry.apache.org/forms-and-validation.html

关于java - 如何为 beaneditform 上的密码字段制作正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6993935/

相关文章:

Tapestry 中缓存清除的 javascript 和 CSS 版本控制

java - 如何从小部件本身手动调用 `onUpdate`

java - OpenCV:如何将 Mat 的每个值乘以指定的常数?

java - 尝试创建 JSONObject 以无法评估 org.json.JSONObject.toString() 结束

hibernate - Maven 和 pom.xml

java - 将 Tapestry jar 部署到tomcat lib目录中是错误的吗?

tapestry - 修改 Tapestry 5 Tynamo Security 登录表单模板

java - 从 Java 应用程序调用类路径中的外部 jar

java - 如何通过java反射获取kotlin extensions中声明的Properties或Function

java - Tapestry 5 - 两个组件之间的通信