提交前验证字段

时间:2018-10-01 17:53:49

标签: jquery asp.net-core

我具有验证某些表单字段的功能:

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

    $.ajax({
        url: url,
        data: { insc: Insc, isento: Isento },
        datatype: "json",
        type: "POST",
        success: function (data) {
            if (data.resultado == true) {
                $("#messageI").html(data.mensagem);
                if (data.mensagem != 'O campo Inscrição é obrigatório.') {
                    $("#InscricaoEstadual").val('');
                    $("#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) {
                            $("#message").html(data.mensagem);
                            $("#Documento").val('');
                            $("#Documento").focus();
                        }
                        else {
                            $form.off('submit').submit();
                        }
                    }
                });
            }
        }
    })
});

但是碰巧我已经对数据注释进行了验证,这就是我正在做的,如果它属于$ form.off ('submit'). Submit ();,它将发送表单,而不验证字段,因为它们是必填字段,从而导致错误。有没有办法做到这一点?我使用ASP.NET CORE。

1 个答案:

答案 0 :(得分:1)

我不明白为什么使用Ajax来确保项目不为空?

您可以使用

进行检查
var error = false;
if(!$('#InscricaoIsento').is(':checked')){
    error = true;
    NotCheckedResponse();
}
if($("#InscricaoEstadual").val() == "" || $("#InscricaoEstadual").val() == null){
    error = true;
    NotFilledResponse();
}
if(!error){
    SubmitForm();
}

除非我确实误解了某些肯定会做这样的检查的方法,否则它将使您的工作变得简单得多。