Je travaille sur un projet avec Spring, pourquoi l’erreur suivante persiste-t-elle?
javax.validation.UnexpectedTypeException:
Aucun validateur n'a été trouvé pour le type: Java.lang.Integer
Voici mon 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;
}
On dirait que cela ressemble à ce à quoi je faisais face précédemment, ce post m'a aidé.
Pour personnaliser les messages d'erreur d'échec au moment de la liaison. Regardez ce lien pour plus de détails sur la création d'un bean MessageSource dans le contexte de votre application et créez un ensemble de ressources messages.properties:
Selon le javadoc de NotEmpty , Integer n’est pas un type valide à vérifier. C'est pour les chaînes et les collections. Si vous voulez juste vous assurer qu'un entier a une certaine valeur, javax.validation.constraints.NotNull
est tout ce dont vous avez besoin.
public @interface NotEmpty
Affirme que la chaîne annotée, collection, map ou array n'est pas null ou vide.
Vous pouvez ajouter une dépendance du validateur hibernate pour fournir un validateur
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.12.Final</version>
</dependency>
Lorsque la question est posée, utilisez simplement @Min (1) au lieu de @size sur les champs entiers et cela fonctionnera.