gpt4 book ai didi

java - 正则表达式验证 - 显示违规字符。 javax.验证

转载 作者:搜寻专家 更新时间:2023-11-01 03:29:03 32 4
gpt4 key购买 nike

JSR-303 (javax.validation) 中有正则表达式验证。例如:

@Pattern(regexp="[\w_\\.]+")
private String username;

当值无效(与正则表达式不匹配)时显示的默认消息类似于“必须匹配 {regex}”。但是用户不理解正则表达式,所以向他们展示它是无关紧要的。一个选项是只显示“用户名包含非法字符”,在大多数情况下它可能没问题。但最好能指出哪个字符是错误的。

这不能用正则表达式直接实现——它要么匹配要么不匹配。您必须定义其他缺少某些组件的模式,或者尝试从字符串中删除字符直到它匹配,然后将这些字符显示给用户。

这是一般的。另一个问题是如何使用 javax.validation 实现这一点。

所以,总结一下这个问题:

如何使用 javax.validation 显示违规字符,使消息看起来像“字符 ?、* 和 $ 是非法的”

最佳答案

我会选择验证模式的否定版本。所以你的模式就是:

[^\w_\\.]

验证失败时,将其与输入字符串进行匹配并将结果输出给用户。

关于java - 正则表达式验证 - 显示违规字符。 javax.验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5581852/

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