[RESOLVIDO] VRaptor - Forma de validação

e qual é a estrutura desse object? esse for que vc postou só serve se ele for um array… se for um:

{ "errors" : [ { "message": ".....", .... } ] }

vc tem que iterar em responseText.errors

console.log(responseText);
console.log(responseText.errors);

//---------------------

responseText:"{\"errors\": [{\"message\": \"Nome de rede existente\",\"category\": \"existentError\"}]}", status:400, statusText:"Bad Request"})

undefined
undefined

E ai ?

ele tá vindo como string então… vc tem que mudar o dataType da requisição ajax pra “json”, ou fazer um:

var json = JSON.parse(responseText);
var errors = json.errors;
// só imprimir esses errors.
    var formOptions = {
        beforeSubmit: validate,    
        success: showSuccess,  
        dataType: "json",  
        error: showError                  
    };

Já esta json …

Tentei sem e utilizando esse JSON.parse e ocorre um erro “JSON. parser unexpected charcter”

aqueles console.log estão em qual função? na showSuccess? na showError? na validate?

showError

se o dataType tá como json, o responseText deveria ser o JSON já parseado… não uma string…

tem algo bem estranho acontecendo…

só pra ficar na mesma página, tenta fazer assim:


var formOptions = {  
    beforeSubmit: validate,      
    success: showSuccess,    
    dataType: "json",    
    error: function(json) {
         console.log(json);

         console.log(json.errors);
         console.log(json.errors[0].message);
    }                    
};  

e veja o que aparece

Resolvi aqui.

Parece que apesar de JSON estar definido lá ele vem em string.

Daí fiz isso.

 function showError(response, status, err){     
                   
        var resposta = $.parseJSON(response.responseText);
        $.each(resposta.errors, function(i, erro) {
            alert(this.message);
        });
    }

Agora ta certo.
Vlw cara ! Muito obrigado ai ! … Aprendi até mais do que precisava.

Abraços !