我具有验证某些表单字段的功能:
$('#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。
答案 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();
}
除非我确实误解了某些肯定会做这样的检查的方法,否则它将使您的工作变得简单得多。