Как мне получить MVC4/JQuery Validate для применения проверки на свойства с нулевым значением?MVC4 JQuery validate не проверяет необязательные поля
Например, есть 2 числовые свойства в модели:
[Required]
public int Counter { get; set; }
public int? CounterNonRequired { get; set; }
И этот Razor код:
<div class="editor-field">
@Html.EditorFor(model => model.Counter)
@Html.ValidationMessageFor(model => model.Counter)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.CounterNonRequired)
@Html.ValidationMessageFor(model => model.CounterNonRequired)
</div>
Это производит следующий HTML:
<div class="editor-field">
<input class="text-box single-line"
data-val="true"
data-val-number="The field Counter must be a number."
data-val-required="The Counter field is required."
id="Counter"
name="Counter"
type="number"
value="">
<span class="field-validation-valid"
data-valmsg-for="Counter"
data-valmsg-replace="true">
</span>
</div>
<div class="editor-field">
<input class="text-box single-line valid"
data-val="true"
data-val-number="The field CounterNonRequired must be a number."
id="CounterNonRequired"
name="CounterNonRequired"
type="number"
value="">
<span class="field-validation-valid"
data-valmsg-for="CounterNonRequired"
data-valmsg-replace="true">
</span>
</div>
Редактор CounterNonRequired должен подтвердить, что могут вводиться только цифры, но вместо этого они допускают буквы e tc. Редактор счетчика запрещает ввод букв.
Я также попытался использовать регулярное выражение для проверки необязательного поля, но это было проигнорировано так же, как проверка числа.
Любые мысли?
Я использую JQuery 1.8.2, который был включен в шаблон MVC. Я вернулся к 1.8.1, как в вашем примере, и он все еще не работает. Какую версию jquery.validate вы используете? – ChaoticNadirs
@ChaoticNadirs Версия 1.8.0 – Jaimin