假設我有以下的Pojos和約束條件。
public class Pojo1 {
@NotNull {
private String field1;
@NotNull[/span
private String field2; // <--我只想在Pojo3.java中使用這個NotNull,但在Pojo2.java中不使用。
}
public class Pojo2 {
@Valid
private Pojo1 pojo1;
}
public class Pojo3 {
@Valid
private Pojo1 pojo1;
@Valid[/span
private Pojo2 pojo2;
}
我希望Pojo1.field2只在Pojo3下被驗證,而不是Pojo2。換句話說,下面的JSON應該通過驗證
。{}。
"pojo1": {
"field1": "something",
"field2": "something"
},
"pojo2": {
"pojo1": {
"field1": "something"
}
}
}
uj5u.com熱心網友回復:
嘗試用Pojo3上的自定義驗證來替換Pojo1.field2的驗證,例如:
public class Pojo1 {
@NotNull[/span
private String field1;
//@NotNull // don't validate it generally。
private String field2;
}
public class Pojo2 {
@Valid
private Pojo1 pojo1;
}
public class Pojo3 {
@Valid
private Pojo1 pojo1;
@Valid[/span
private Pojo2 pojo2;
@javax.validation.constraints.AssertTrue
public boolean isPojo1Valid() {
return pojo1 == null || pojo1.getField2() != null;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/311790.html
標籤:
上一篇:如何在jquery.validation中使用另一個屬性來代替name屬性?
下一篇:FHIRHAPI對元素組合的驗證
