MVC.net Проверка jQuery - PullRequest
       23

MVC.net Проверка jQuery

14 голосов
/ 14 сентября 2008

Пытаясь избежать JavaScript в течение многих лет, Iv начал использовать Query for validation в MVC asp.net, так как не существует официального способа проверки, Iv был удивлен, насколько хорош jQuery ,

Во-первых, есть ли способ заставить intellisense работать для jQuery и его плагина проверки, чтобы мне не пришлось изучать API?

Во-вторых, как мне создать сводку проверки для этого, в настоящее время он добавляет ошибку справа от текстового поля .:

<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>

Я попытался добавить это в скрипт:

 errorLabelContainer: $("#CreateLog div.error")

и это в HTML:

  <div class="error"> </div>

Но это не сработало.

Ответы [ 4 ]

11 голосов
/ 16 сентября 2008

Попробуйте указать в своих настройках как упаковщик, так и контейнер с этикетками. Я также добавил display:none; в стиль контейнера ошибок, чтобы jQuery решал, когда его показывать.

$().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>

Это должно сработать.

10 голосов
/ 02 мая 2009
4 голосов
/ 14 сентября 2008

Существует исправление Visual Studio 2008 для JQuery IntelliSense в VS2008 . Это может быть связано с SP1.

1 голос
/ 18 ноября 2008

относительно intellisense для jquery (и других плагинов): для того, чтобы иметь полный intellisense в ваших собственных файлах сценариев, просто добавьте следующую строку вверху вашего файла .js один раз для каждого файла, из которого вы хотите intellisensee: 1001 *

/// <reference path="[insert path to script file here]" />

просто, но очень полезно =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...