无法通过jquery查看打印验证错误值

时间:2018-06-27 20:15:17

标签: javascript jquery

因此,我试图在jquery ajax调用后显示验证错误,但是由于某种原因,不是打印实际的消息,而是获取+ value +或+ data.success +,而是将值附加错误了吗?

这是我的代码:

$.ajax({
url: '/contactar',/*{{ action('ContactController@contactar') }}*/
    type: 'POST',
    data: 
    {
        'message_body': $("textarea[name='message']").val()
    },
    dataType: 'JSON',
    success: function (data) { 
        $('.form_valid_container').append('<span class="form_valid_text">data.success</span>');
        form.trigger("reset");
        console.log(data.success, data.errors);
    },
    error: function (data){
        var errors = data.responseJSON;
        console.log(errors);
        $.each(errors , function(key , value){
            console.log('error pin');
            $('.form_error_container').append('<span class="form_error_text">+ value +</span>')
        }); 
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

2 个答案:

答案 0 :(得分:0)

是的,如语法颜色所示,您错误地附加了值:整个文本为深红色。

您的字符串以单引号'开头,因此您还需要在'之前以+ value +结束字符串:

$('.form_error_container').append('<span class="form_error_text">' + value + '</span>')

答案 1 :(得分:0)

@pyb和原始代码给出的答案几乎总是有效。但是,我看到即使表单已被重置或多次触发,DIV仍会继续附加错误。

下面是我喜欢的代码:

注意:我在成功阻止容器中使用了html函数,该函数不会总是附加成功消息。

注意:在打印错误消息之前,我已经使用form_error_container功能清除了html,因此即使重置了表单,它也不会继续添加错误消息。或多次触发。

$.ajax({
    url: '/contactar',/*{{ action('ContactController@contactar') }}*/
    type: 'POST',
    data: 
    {
        'message_body': $("textarea[name='message']").val()
    },
    dataType: 'JSON',
    success: function (data) { 
        $('.form_valid_container').html('<span class="form_valid_text">data.success</span>');
        form.trigger("reset");
        console.log(data.success, data.errors);
    },
    error: function (data){
        var errors = data.responseJSON;
        console.log(errors);
        $('.form_error_container').html("");
        $.each(errors , function(key, value) {
            console.log('error pin');
            $('.form_error_container').append('<span class="form_error_text">' + value + '</span>')
        }); 
    }
});

谢谢。