Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Plain Text by BR ( 13 years ago )
package br.com.caelum.notasfiscais.validator;
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import org.jboss.seam.faces.validation.InputField;
@FacesValidator("nomeExistenteValidator")
public class NomeExistenteValidator implements Validator, Serializable {
private static final long serialVersionUID = 1L;
@Inject
@InputField
private String nome;
@Inject
private EntityManager em;
@Override
public void validate(FacesContext fc, UIComponent component, Object value)
throws ValidatorException {
Query q = em.createQuery("select count(p) from Produto p where p.nome like :nome");
q.setParameter("nome", nome);
Long count = (Long) q.getSingleResult();
if (count != 0) {
throw new ValidatorException(new FacesMessage("Nome do produto ja existe."));
}
}
}
Revise this Paste