gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 08:33:19 27 4
gpt4 key购买 nike

我尝试在 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com