我如何在 char 上进行 bean 验证?

How can I bean-validate on a char?

我刚刚发现 @Pattern 可能(仅)适用于 CharSequences。

如何验证单个字符?

//@Pattern(regex = "[YN]") // @@?
private char someYn; // 'Y' or 'N'

会融合吗?

使用 AttributeConverter 不是一个选项。

哦,单身的char也是一个CharSequence吗?

您可以编写自己的 ConstraintValidator:

https://docs.oracle.com/javaee/7/api/javax/validation/ConstraintValidator.html

您可以在何处提供注释和验证类型 您可以为其定义逻辑 然后你可以用你的自定义注释来注释你的字段

这里是 link 以及制作步骤:

https://dzone.com/articles/create-your-own-constraint-with-bean-validation-20

根据 javax 验证文档:

@Pattern(regex=, flag=) 字符串。

HV 还支持:CharSequence 的任何子类型。

根据给定的标志检查带注释的字符串是否与正则表达式 regex 匹配

所以实际上对于使用@Pattern 的角色你会得到错误

谢谢