【问题标题】:Bean Validation Pattern (start with) is failingBean Validation Pattern (start with) 失败
【发布时间】:2017-01-16 09:56:18
【问题描述】:

我正在使用一个简单的 bean 验证模式,它应该验证一个字符串是否以 TX 开头。当我输入以 TX 开头的有效字符串时,验证失败。我的正则表达式有问题吗?

@Pattern(regexp = "^TX", message = "ID must start with TX", flags = Pattern.Flag.CASE_INSENSITIVE)
private String txId; 

【问题讨论】:

  • 您的正则表达式与^TX 完全匹配,不允许使用更多字符。你不是说regexp = "^TX.+"吗?
  • 我已经尝试过 ^TX*$ 但没有成功,将再试一次。
  • ^TX*$ 匹配以“T”开头、后跟零个或多个“X”的单词——这不是你的意思。
  • 不要忘记点。 ^TX.*

标签: java bean-validation


【解决方案1】:

你应该使用

 @Pattern(regexp = "^TX.*$", message = "ID must start with TX", flags =         Pattern.Flag.CASE_INSENSITIVE)
 private String txId; 

真正验证该字符串以 TX 开头,而不是仅包含开头的 TX。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 2021-12-22
    相关资源
    最近更新 更多