Eu gostaria de fazer a validação do meu formulário, então estou olhando o aplicativo de exemplo da ASP.NET MVC4.
Aqui vejo que usa o seguinte:
jquery.unobtrusive-ajax.js
jquery.validate.js
jquery.validate.unobtrusive.js
Alguém pode explicar. Eu preciso de todas essas bibliotecas js. Eu pensei que eu li em algum lugar que um estava agora fazendo o trabalho de o outro, mas eu vejo a amostra ainda carrega todos os três deles.
Respostas:
4 para resposta № 1Alguém pode explicar. Eu preciso de todas essas bibliotecas js.
Não, absolutamente não.
Para a validação não-intrusiva do jquery, você precisa dos seguintes 3 scripts adicionados nessa ordem específica:
jquery.js
jquery.validate.js
jquery.validate.unobtrusive.js
o jquery.unobtrusive-ajax.js
script não tem absolutamente nada a ver com validação. Isso é usado por todos os Ajax.*
ajudantes (como Ajax.BeginForm
e Ajax.ActionLink
).
Agora, dito isto, a ASP.NET MVC 4 usa pacotes de script. Por exemplo, quando você cria um novo aplicativo ASP.NET MVC 4 usando o Modelo de Internet no Visual Studio, ele cria o ~/App_Start/BundleConfig.cs
arquivo para você contendo o seguinte registro:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
Isso significa que, se dentro do layout ou exibição, você chamar:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
você vai entrar no modo de depuração:
<script src="/Scripts/jquery-1.7.1.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
No modo Liberação (<compilation debug="false">
no seu web.config) todos esses scripts serão reduzidos, compactados e empacotados em um único script veiculado por meio de um endpoint dinâmico.