MVC.net jQuery-Validação de
-
09-06-2019 - |
Pergunta
Depois de tentar evitar o JavaScript para anos, Iv iniciado usando o Query para validação no MVC asp.net como não parece ser uma forma oficial de fazer a validação, Iv foi surpreso com o quão bom o jQuery.
Em primeiro lugar, existe uma maneira de obter o intellisense de trabalho para jQuery e sua validação plugin, para que eu não tenha que aprender a api?
Em segundo lugar, como eu faço para criar um resumo de validação para este, atualmente, acrescenta o erro para a direita da caixa de texto.:
<script type="text/javascript">
$().ready(function() {
$("#CreateLog").validate({
rules: {
UserName: {
required: true,
minLength: 2,
}
},
messages: {
UserName: {
required: "Please enter a username",
minLength: "Your username must consist of at least 2 characters",
}
}
});
});
</script>
<form id="CreateLog" action="Create" method="post" />
<label>UserName</label><br />
<%=Html.TextBox("UserName")%>
<br />
<div class="error"> </div>
<input type=submit value=Save />
</form>
Eu tentei adicionar este script:
errorLabelContainer: $("#CreateLog div.error")
e isso para o html:
<div class="error"> </div>
Mas isso não funcionou.
Solução
Tente especificar tanto um invólucro e um rótulo do recipiente em suas opções.Eu também adicionei display:none;
para o estilo de erro-recipiente para deixar jQuery decidir quando mostrá-lo.
$().ready(function() {
$("#CreateLog").validate({
errorLabelContainer: $("ul", $('div.error-container')),
wrapper: 'li',
rules: {
UserName: {
required: true,
minLength: 2,
}
},
messages: {
UserName: {
required: "Please enter a username",
minLength: "Your username must consist of at least 2 characters"
}
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="error-container">
<ul></ul>
</div>
<form id="CreateLog" action="Create" method="post" />
<label>UserName</label><br />
<%=Html.TextBox("UserName")%>
<br />
<input type=submit value=Save />
</form>
Que deve funcionar.
Outras dicas
Você pode querer verificar para fora Karl Seguin's ASP.NET MVC abordagem de validação no CodeBetter.com e seu exemplo aplicação de lona.
Validação - Parte 1 - Introdução
Há uma Visual Studio 2008 hotfix para JQuery IntelliSense no VS2008 .Isso pode ter sido fornecido com o SP1 bem.
sobre o intellisense para jquery (e outros plug-ins):para ter total intellisense em seus próprios arquivos de script bem, basta incluir a seguinte linha no topo da sua .arquivo js uma vez para cada arquivo que você deseja intellisensee de:
/// <reference path="[insert path to script file here]" />
simples, mas muito útil =)