我有以下模型对象:
@Validated
public class Message implements Serializable {
private static final long serialVersionUID = 9028633143475868839L;
@NonNull
@Size(min = 6, max = 6)
@Pattern(regexp = "[\\d]{6}")
private String id;
@NotNull
@Size(min = 1, max = 200)
private String title;
@NotNull
@Size(min = 1, max = 1000)
private String message;
@NotEmpty
private String type;
private String publishId;
public Message(){
}
public Message(@NonNull @Size(min = 6, max = 6) @Pattern(regexp = "[\\d]{6}") String id, @NotNull @Size(min = 1, max = 200) String title, @NotNull @Size(min = 1, max = 1000) String message, @NotEmpty String type, String publishId) {
this.id = id;
this.title = title;
this.message = message;
this.type = type;
this.publishId = publishId;
}
}
在此类Message
中,每个字段都使用验证约束进行注释。此外,每当我在IDEA IDE 中自动生成构造函数时,注释也会自动附加到构造函数参数中。
我的问题是:如果我从构造函数参数或字段/对象属性中删除这些约束,会有任何副作用吗?
这些验证在内部如何运作?
我javax.validation.Validator::validate
用于验证。
如果可能,请附上链接作为参考