人是实体,我认为这是有效的,但为什么验证人说这不是故事?验证者说' nama '为空。
People orang = peopleService.get(id);
orang.setNama("Nama Baru");
Set<ConstraintViolation<People>> violations = validator.validate(orang);
一定要这样。
People tmp = peopleService.get(id);
People orang = new People();
orang.setId(id);
orang.setNama("Nama Baru");
orang.setJenkel(tmp.getJenkel());
orang.setAlamat(tmp.getAlamat());
Set<ConstraintViolation<People>> violations = validator.validate(orang);
有什么不同?服务结果出了什么问题?
EDITED: 这是我的人员实体
@Entity
public class People implements Serializable {
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
private String id;
@NotNull(message = "Jangan biarkan null")
@Size(min = 3, message = "Panjang nama minimal 3 karakter")
private String nama;
@NotNull(message = "Jangan biarkan null")
private String jenkel;
private String alamat;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getJenkel() {
return jenkel;
}
public void setJenkel(String jenkel) {
this.jenkel = jenkel;
}
public String getAlamat() {
return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
}
这是获取数据的peopleService方法
@Override
public People get(String id)
{
return peopleRepository.getOne(id);
}
答案 0 :(得分:0)
在第二种情况下,使用新的People()创建的orang与第一种情况不同。但是,问题似乎在验证逻辑中。你有任何自定义验证器来扩展Validator吗?如果是这样,请使用People对象检查验证器逻辑,或发布People对象和验证器逻辑。