Criei um pequeno programa no visual studio para adicionar livros em uma determinada tabela, este programa está criando os livros corretamente porém, quero incluir validação para nao deixar incluir um livro na tabela sem um titulo. Ao incluir validações utilizando o JS não estou conseguindo executar o asp-action apenas quando todos os campos estão preenchidos. Segue exemplo:
@model livros.Models.livros @{ ViewData["Title"] = "Crir Livro"; }
<section id="section-form">
<form id="form-criar"> ( Retirei o asp-action desse ponto para tentar incluir diretamente no JS)
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label asp-for="Titulo">Titulo</label>
<input asp-for="Titulo" type="text" class="form-control" id="input-titulo">
<span asp-validation-for="Titulo" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Autor">Autor</label>
<input asp-for="Autor" type="text" class="form-control">
<span asp-validation-for="Autor" class="text-danger"></span>
</div>
</div>
</div>
<div class="form-group">
<input type="submit" id="btn-criar" value="Salvar" class="btn btn-success" />
</div>
</form>
</section>
<script src="~/js/valid-livro.js"></script>
------------------------- Codigo JS:
var btnCriar = document.querySelector("#btn-criar");
btnCriar.addEventListener("click", function (event) {
event.preventDefault();
if (!document.getElementById("input-titulo").value.length == 0) {
var frmCriar = document.querySelector("#form-criar");
frmCriar.setAttribute("asp-action", "NovoLivro");
console.log(frmCriar);
}
})
--------------------- Dessa forma Ele cria o atributo asp-action no html (exemplo abaixo) mas não executa o asp-action, como faço para mandar executar essa asp-action?
<form id="form-criar" asp-action="NovoLivro">