当前位置: 首页 > 面试题库 >

在列表上添加@NotNull或Pattern约束

周凯捷
2023-03-14
问题内容

我们如何确保列表中的各个字符串不为null /空白或遵循特定的模式

@NotNull
List<String> emailIds;

我也想添加图案

@Pattern("\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b.")

但是我可以不用它。但是我绝对希望有一个约束,它可以检查列表中的任何字符串是否为null或空白。而且Json模式看起来如何

"ids": {
      "description": "The  ids associated with this.", 
    "type": "array",
        "minItems": 1,
        "items": {
        "type": "string",
         "required" :true }
 }

"required" :true does not seem to do the job

问题答案:

您可以为电子邮件字符串创建一个简单的包装类:

public class EmailAddress {

    @Pattern("\b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}\b.")
    String email;

    //getters and setters
}

然后@Valid在现有对象中标记该字段:

@NotNull
@Valid
List<EmailAddress> emailIds;

然后,验证器将验证列表中的每个对象。



 类似资料:
  • 问题内容: 我在这张桌子上遇到麻烦 我想要一个外键约束,并且可以。然后,我还想向该属性添加一个约束,以便它只能采用值“ a”,“ d”和“ u”。我无法将字段设置为或。 谁能告诉我为什么这段代码在MySQL中不起作用? 问题答案: 正如我在本文中所解释的,从8.0.16版本开始,MySQL添加了对CHECK约束的支持: 以前,仅在使用BEFORE INSERT和BEFORE UPDATE触发器时才

  • 问题内容: 我想向现有表中添加2个新列。 其中之一应具有默认值 0 (也应填写在现有行中)。 我尝试了以下语法: 但这会引发异常。我应该怎么写? 问题答案: 您可以使用此: 或这个: 更多:ALTER TABLE

  • 我使用一个Postgreql数据库与JPA/Hibernate.当我向列添加约束时,即“nullable=false”,数据库列不会改变以反映这一点。删除表并重新运行应用程序即可完成此工作。 这是否可以通过JPA/Hibernate机制实现,而无需删除条目或表?比如“尝试更改表,并拒绝在不一致的数据上这样做”?在我的application.properties,我已经设置 任何其他设置似乎都在删除

  • 问题内容: 我想向表中添加一列,然后添加检查约束以确保其大于0。我似乎无法使它在oracle sl开发人员中运行。 错误报告-SQL错误:ORA-00904 ::无效的标识符00904。00000-“%s:无效的标识符” 问题答案: 语法中没有子句。只是。 这是 SQLFiddle 演示

  • 问题内容: 我有一个表,其中的列包含一些空值。我想在该列上添加约束,而不将现有的null更新为非null值。我想保留现有的空值,并检查将来的行,它们是否包含此列的非空值。这可能吗?如何? 问题答案: 您可以添加未验证的约束-它不会查看现有行,但是会检查是否有任何新行或更新行。 请注意,除非满足约束,否则您将无法更新现有行。 另外,请注意,不利之处在于,优化器在制定计划时将无法利用此约束-它必须假设

  • 问题内容: 我一直在检查MySQL文档中的ALTER TABLE,它似乎没有提供添加或修改列注释的方法。我怎样才能做到这一点? 问题答案: 尝试: