Проверка ASP.NET MVC 3 на размытие - PullRequest
3 голосов
/ 20 января 2011

Как мне вызвать проверку, когда текстовое поле теряет фокус?Например,

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)

    <div class="editor-label">
        @Html.LabelFor(model => model.Name)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Name)
        @Html.ValidationMessageFor(model => model.Name)
    </div>
}

public class RegisterViewModel
{
    [Required]
    [StringLength(5)]
    public string Name { get; set; }
}

Кроме того, как я могу проверить, существует ли уже имя, вызвав действие?

Ответы [ 3 ]

2 голосов
/ 19 февраля 2011
2 голосов
/ 21 января 2015

Можно активировать оценку с помощью setDefaults(), чтобы переопределить свойство onfocusout с помощью функции, которая всегда оценивает размытый элемент, вызывая valid() method.

// enable eager evaluation
$.validator.setDefaults({
    onfocusout: function (element) {
        $(element).valid();
    }
})

Демонстрация с оценкой Eager :
(будет отображаться после выхода из табуляции)

// enable eager evaluation
$.validator.setDefaults({
  onfocusout: function (element) {
    $(element).valid();
  }
});

$("form").validate();
input.error {
  border-color: red
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>

<form >
  <input type="text" name="Name" required /><br/>
  <input type="text" name="Email" required /><br/>
  <input type="submit" value="Submit"/>
</form>

Нормальная демоверсия
(не будет отображаться до отправки)

$("form").validate();
input.error {
  border-color: red
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>

<form >
  <input type="text" name="Name" required /><br/>
  <input type="text" name="Email" required /><br/>
  <input type="submit" value="Submit"/>
</form>
0 голосов
/ 20 января 2011

удаленная проверка - это новая функция MVC 3: http://msdn.microsoft.com/en-us/library/gg508808(v=vs.98).aspx

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