Function jQuery return message validation instead of alert

0

I have this function, which works perfectly:

  $('#FornecedorNovo').submit(function (e) {
    e.preventDefault();
    var url = "/Fornecedor/VerificaInscricao";
    var Insc = $("#InscricaoEstadual").val();
    var form = this,
        $form = $(form); // Salvamos o formulário atual em uma variável

    $.ajax({
        url: url,
        data: { insc: Insc },
        datatype: "json",
        type: "POST",
        success: function (data) {
            if (data.resultado == true) {
                alert('Já existe esta inscrição estadual cadastrada para outro fornecedor.');
                $("#InscricaoEstadual").focus();
            } else {
                var url1 = "/Fornecedor/VerificaDocumento";
                var Documento = $("#Documento").val();

                $.ajax({
                    url: url1,
                    data: { documento: Documento },
                    datatype: "json",
                    type: "POST",
                    success: function (data) {
                        if (data.resultado == true) {
                            alert('Já existe este CNPJ/CPF cadastrado para outro fornecedor.');
                            $("#Documento").focus();
                        }
                        else {
                            $form.off('submit').submit();
                        }
                    }
                });
            }
        }
    })
});

But it shows an alert, I wanted the message to appear just like field validation, in <span asp-validation-for="InscricaoEstadual" class="text-danger"></span> for example. It's possible?

    
asked by anonymous 01.10.2018 / 16:49

1 answer

1

As I do not understand Asp.Net, a solution with jQuery would get the element you want to insert the error message with jQuery and change its HTML. In your case it would be to change the line:

alert('Já existe este CNPJ/CPF cadastrado para outro fornecedor.');

by:

$('[asp-validation-for="InscricaoEstadual"]').html('Já existe este CNPJ/CPF cadastrado para outro fornecedor.');

To improve performance you could save the result of $('[asp-validation-for="InscricaoEstadual"]') to a variable so that you do not have to search every ajax request, or rather set a id to the element and use a select id instead of using the selector of attributes used in the example.

    
01.10.2018 / 16:57