Ich arbeite mit Spring an einem Projekt. Warum wird immer wieder der folgende Fehler angezeigt?
javax.validation.UnexpectedTypeException:
Für Typ: java.lang.Integer wurde kein Validator gefunden
Hier ist mein Code:
package com.s2rsolutions.model;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.NotEmpty;
@Entity
@Table(name = "sales")
public class Sales {
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "ttl_d_sls_lst_mth", nullable = false)
private Integer ttl_d_sls_lst_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "ttl_d_sls_6_mth", nullable = false)
private Integer ttl_d_sls_6_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "ttl_d_sls_mtht", nullable = false)
private Integer ttl_d_sls_mtht;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "ttl_s_sls_lst_mth", nullable = false)
private Integer ttl_s_sls_lst_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "ttl_s_sls_6_mth", nullable = false)
private Integer ttl_s_sls_6_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "ttl_s_sls_mtht", nullable = false)
private Integer ttl_s_sls_mtht;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "nw_lst_mth", nullable = false)
private Integer nw_lst_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "nw_6_mth", nullable = false)
private Integer nw_6_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "nw_mtht", nullable = false)
private Integer nw_mtht;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "usd_lst_mth", nullable = false)
private Integer usd_lst_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "usd_6_mth", nullable = false)
private Integer usd_6_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "usd_mtht", nullable = false)
private Integer usd_mtht;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "grss_prt_pvnr_lst_mth", nullable = false)
private Integer grss_prt_pvnr_lst_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "grss_prt_pvnr_6_mth", nullable = false)
private Integer grss_prt_pvnr_6_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "grss_prt_pvnr_mtht", nullable = false)
private Integer grss_prt_pvnr_mtht;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "grss_prt_pvur_lst_mth", nullable = false)
private Integer grss_prt_pvur_lst_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "grss_prt_pvur_6_mth", nullable = false)
private Integer grss_prt_pvur_6_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "grss_prt_pvur_mtht", nullable = false)
private Integer grss_prt_pvur_mtht;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "shwrm_tffic_lst_mth", nullable = false)
private Integer shwrm_tffic_lst_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "shwrm_tffic_6_mth", nullable = false)
private Integer shwrm_tffic_6_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "shwrm_tffic_mtht", nullable = false)
private Integer shwrm_tffic_mtht;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "shwrm_clsng_lst_mth", nullable = false)
private Integer shwrm_clsng_lst_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "shwrm_clsng_6_mth", nullable = false)
private Integer shwrm_clsng_6_mth;
@NotEmpty(message = "The above field must not be blank.")
@Column(name = "shwrm_clsng_mtht", nullable = false)
private Integer shwrm_clsng_mtht;
@Column(name = "date_added")
private Date addedDate;
public Integer getTtl_d_sls_lst_mth() {
return ttl_d_sls_lst_mth;
}
public void setTtl_d_sls_lst_mth(Integer ttl_d_sls_lst_mth) {
this.ttl_d_sls_lst_mth = ttl_d_sls_lst_mth;
}
public Integer getTtl_d_sls_6_mth() {
return ttl_d_sls_6_mth;
}
public void setTtl_d_sls_6_mth(Integer ttl_d_sls_6_mth) {
this.ttl_d_sls_6_mth = ttl_d_sls_6_mth;
}
public Integer getTtl_d_sls_mtht() {
return ttl_d_sls_mtht;
}
public void setTtl_d_sls_mtht(Integer ttl_d_sls_mtht) {
this.ttl_d_sls_mtht = ttl_d_sls_mtht;
}
public Integer getTtl_s_sls_lst_mth() {
return ttl_s_sls_lst_mth;
}
public void setTtl_s_sls_lst_mth(Integer ttl_s_sls_lst_mth) {
this.ttl_s_sls_lst_mth = ttl_s_sls_lst_mth;
}
public Integer getTtl_s_sls_6_mth() {
return ttl_s_sls_6_mth;
}
public void setTtl_s_sls_6_mth(Integer ttl_s_sls_6_mth) {
this.ttl_s_sls_6_mth = ttl_s_sls_6_mth;
}
public Integer getTtl_s_sls_mtht() {
return ttl_s_sls_mtht;
}
public void setTtl_s_sls_mtht(Integer ttl_s_sls_mtht) {
this.ttl_s_sls_mtht = ttl_s_sls_mtht;
}
public Integer getNw_lst_mth() {
return nw_lst_mth;
}
public void setNw_lst_mth(Integer nw_lst_mth) {
this.nw_lst_mth = nw_lst_mth;
}
public Integer getNw_6_mth() {
return nw_6_mth;
}
public void setNw_6_mth(Integer nw_6_mth) {
this.nw_6_mth = nw_6_mth;
}
public Integer getNw_mtht() {
return nw_mtht;
}
public void setNw_mtht(Integer nw_mtht) {
this.nw_mtht = nw_mtht;
}
public Integer getUsd_lst_mth() {
return usd_lst_mth;
}
public void setUsd_lst_mth(Integer usd_lst_mth) {
this.usd_lst_mth = usd_lst_mth;
}
public Integer getUsd_6_mth() {
return usd_6_mth;
}
public void setUsd_6_mth(Integer usd_6_mth) {
this.usd_6_mth = usd_6_mth;
}
public Integer getUsd_mtht() {
return usd_mtht;
}
public void setUsd_mtht(Integer usd_mtht) {
this.usd_mtht = usd_mtht;
}
public Integer getGrss_prt_pvnr_lst_mth() {
return grss_prt_pvnr_lst_mth;
}
public void setGrss_prt_pvnr_lst_mth(Integer grss_prt_pvnr_lst_mth) {
this.grss_prt_pvnr_lst_mth = grss_prt_pvnr_lst_mth;
}
public Integer getGrss_prt_pvnr_6_mth() {
return grss_prt_pvnr_6_mth;
}
public void setGrss_prt_pvnr_6_mth(Integer grss_prt_pvnr_6_mth) {
this.grss_prt_pvnr_6_mth = grss_prt_pvnr_6_mth;
}
public Integer getGrss_prt_pvnr_mtht() {
return grss_prt_pvnr_mtht;
}
public void setGrss_prt_pvnr_mtht(Integer grss_prt_pvnr_mtht) {
this.grss_prt_pvnr_mtht = grss_prt_pvnr_mtht;
}
public Integer getGrss_prt_pvur_lst_mth() {
return grss_prt_pvur_lst_mth;
}
public void setGrss_prt_pvur_lst_mth(Integer grss_prt_pvur_lst_mth) {
this.grss_prt_pvur_lst_mth = grss_prt_pvur_lst_mth;
}
public Integer getGrss_prt_pvur_6_mth() {
return grss_prt_pvur_6_mth;
}
public void setGrss_prt_pvur_6_mth(Integer grss_prt_pvur_6_mth) {
this.grss_prt_pvur_6_mth = grss_prt_pvur_6_mth;
}
public Integer getGrss_prt_pvur_mtht() {
return grss_prt_pvur_mtht;
}
public void setGrss_prt_pvur_mtht(Integer grss_prt_pvur_mtht) {
this.grss_prt_pvur_mtht = grss_prt_pvur_mtht;
}
public Integer getShwrm_tffic_lst_mth() {
return shwrm_tffic_lst_mth;
}
public void setShwrm_tffic_lst_mth(Integer shwrm_tffic_lst_mth) {
this.shwrm_tffic_lst_mth = shwrm_tffic_lst_mth;
}
public Integer getShwrm_tffic_6_mth() {
return shwrm_tffic_6_mth;
}
public void setShwrm_tffic_6_mth(Integer shwrm_tffic_6_mth) {
this.shwrm_tffic_6_mth = shwrm_tffic_6_mth;
}
public Integer getShwrm_tffic_mtht() {
return shwrm_tffic_mtht;
}
public void setShwrm_tffic_mtht(Integer shwrm_tffic_mtht) {
this.shwrm_tffic_mtht = shwrm_tffic_mtht;
}
public Integer getShwrm_clsng_lst_mth() {
return shwrm_clsng_lst_mth;
}
public void setShwrm_clsng_lst_mth(Integer shwrm_clsng_lst_mth) {
this.shwrm_clsng_lst_mth = shwrm_clsng_lst_mth;
}
public Integer getShwrm_clsng_6_mth() {
return shwrm_clsng_6_mth;
}
public void setShwrm_clsng_6_mth(Integer shwrm_clsng_6_mth) {
this.shwrm_clsng_6_mth = shwrm_clsng_6_mth;
}
public Integer getShwrm_clsng_mtht() {
return shwrm_clsng_mtht;
}
public void setShwrm_clsng_mtht(Integer shwrm_clsng_mtht) {
this.shwrm_clsng_mtht = shwrm_clsng_mtht;
}
public Date getAddedDate() {
return addedDate;
}
public void setAddedDate(Date addedDate) {
this.addedDate = addedDate;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Id
@Column(name = "username")
private String username;
}
Antworten:
Gemäß dem Javadoc von NotEmpty ist Integer kein gültiger Typ für die Überprüfung. Es ist für Streicher und Sammlungen. Wenn Sie nur sicherstellen möchten, dass eine Ganzzahl einen bestimmten Wert hat,
javax.validation.constraints.NotNull
brauchen Sie nur.quelle
@NotEmpty
Anmerkung zu versehen. Und dann erhalten Sie die weniger hilfreiche Warnung "Für die Einschränkung 'javax.validation.constraints.Size' wurde kein Validator gefunden. Validierungstyp 'java.lang.Integer'."Wenn die Frage gestellt wird, verwenden Sie einfach @Min (1) anstelle von @size für ganzzahlige Felder, und es wird funktionieren.
quelle
Für diesen Typfehler : UnexpectedTypeException FEHLER: Wir versuchen, eine falsche Annotation des Hibernate-Validators für eine Bean-Eigenschaft zu verwenden. Für dasselbe Problem für mein Springboot-Projekt (Überprüfung des Typs 'java.lang.Integer')
Die Lösung, die für mich funktioniert hat, ist die Verwendung
@NotNull
für Integer.quelle
Wie im Problem angegeben, MÜSSEN Sie zur Behebung dieses Fehlers korrekte Anmerkungen verwenden. In obigem Problem
@NotBlank
oder@NotEmpty
Annotation darf nur auf jedem String - Feld angewandt werden.Verwenden Sie Annotation, um ein langes Feld zu validieren
@NotNull
.quelle
Sie können die Validatorabhängigkeit im Ruhezustand hinzufügen, um einen Validator bereitzustellen
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.12.Final</version> </dependency>
quelle