Je reçois une erreur de validation: La valeur n'est pas une erreur valide. J'ai identifié le problème pour être la méthode d'égal à égal. L'objet sélectionné est passé correctement en argument, mais pour une raison quelconque, l'entité avec laquelle il est comparé est incorrecte.h: Erreur de validation selectOneListBox: la valeur n'est pas valide
<div class="col-sm-8">
<h:selectOneListbox id="${cc.attrs.id}_test" converter="#{cc.attrs.converter}"
size="#{cc.attrs.selector.selectedList.size()+1}" style="height: 150px"
value="#{cc.attrs.selector.removeItem}" styleClass="form-control">
<f:selectItems value="#{cc.attrs.selector.selectedList}" var="test"
itemValue="#{test}"
itemLabel="#{test.displayName}" />
<f:ajax event="change" render="${cc.attrs.id}_jts_panel ${cc.attrs.id}_legend" />
</h:selectOneListbox>
</div>
Voici la méthode equals:
@Override
public boolean equals(Object object)
{
if (!(object instanceof ObjectTest))
{
return false;
}
ObjectTest other = (ObjectTest) object;
if (this.attribute1 == null || this.attribute2 == null) {
return false;
}
if (other.attribute1 == null || other.attribute2 == null) {
return false;
}
if ((this.attribute1.getName() == null && other.attribute1.getName() != null) || (this.attribute1.getName() != null && !this.attribute1.getName().equals(other.attribute1.getName())))
{
return false;
}
if ((this.attribute2.getName() == null && other.attribute2.getName() != null) || (this.attribute2.getName() != null && !this.attribute2.getName().equals(other.attribute2.getName())))
{
return false;
}
return true;
}
Maintenant, pour une raison quelconque, this.attribute1.getName() est différent de celui other.attribute1.getName(). L'objet passé dans la méthode equals est le bon, mais l'entité elle-même est différente de l'objet passé. Comment la valeur de this.attribute est-elle ramassée puisque c'est une classe d'entité où la méthode equals est at? Est-ce que je fais quelque chose de mal?
Pas grand-chose à comprendre votre problème , je suppose que votre convertisseur est la cause de votre problème: 'converter =" # {cc.attrs.converter} "' à quoi cela évalue-t-il? –
Vous avez raison Jorge. Pouvez-vous ajouter votre réponse en tant que réponse ci-dessous afin que je puisse l'accepter comme la bonne s'il vous plaît? Et merci. –
Fait le. Pas grand chose à expliquer vient d'ajouter le commentaire comme une réponse comme vous l'avez demandé. Content que ça t'a aidé. :) –