Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 3 da Aula 6 - Mais Validações

Como eu posso fazer a validação dos preços?

3 respostas

Olá Rogerio, já está usando Bean Validation? Qual tipo de validação gostaria de fazer? Em qual campo?

Oi Rogerio,

pelo que vi no projeto vc poderia aproveitar o validador do produto mesmo.

abs

solução!

Oi Pedro e Nico,

Realmente foi bobeira de minha parte, basta colocar a crítica que de necessito no método validate em minha classe de validação. O código abaixo está feito para páginas, mas é semelhante para outros valores de ponto flutuante.

package br.com.casadocodigo.loja.valition;

import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

import br.com.casadocodigo.loja.models.Produto;

public class ProdutoValidator implements Validator {

    @Override
    public boolean supports(Class<?> clazz) {
        return ProdutoValidator.class.isAssignableFrom(clazz);
    }

    @Override
    public void validate(Object target, Errors errors) {
        System.out.println((Produto) target);
        ValidationUtils.rejectIfEmpty(errors, "titulo", "field.required");
        ValidationUtils.rejectIfEmpty(errors, "descricao", "field.required");
        Produto produto = (Produto) target;
        if (produto.getPaginas() <= 0) {
            errors.rejectValue("paginas", "field.required");
        }
    }

}