Я использую плагин проверки jquery для проверки формы на стороне клиента.
У меня есть поле StandardPrice, которое является обязательным и должно быть числом.Приведенный ниже код проверки работает отлично.
У меня есть другое поле в форме с именем MinPrice, которое является необязательным, но я хочу подтвердить, что если пользователь вводит что-то туда, то это число.Я подумал, удалив required: true , но все еще имея номер : true , это бы поддержало это, но кажется, что оно не позволяет мне оставить это поле пустым (даже если я не обязательный: true set)
Поддерживает ли плагин проверки jquery проверку поля, если оно заполнено, но оставляет его в покое, если оно пустое.
Вот мой код:
$("#productForm").validate({
rules: {
StandardPrice: {
required: true,
number: true
},
MinPrice: {
number: true
}
}
});
Вот скриншот проверки, когда поле пусто:
и вот мой вывод html (мой реальный код использует многоHTML.helpers () и Html.ValidationMessageFor ()
<form action="/Product/EditProduct" id="productForm" method="post"> <fieldset>
<legend>Product</legend>
<div class="editor-label">
<label for="Product_Name">Name</label>
</div>
<div class="editor-field">
<input class="required" id="Product_Name" name="Product.Name" style="width:450px;" type="text" value="Linzer Tart" />
<span class="field-validation-valid" data-valmsg-for="Product.Name" data-valmsg-replace="true"></span>
</div>
<div class="editor-label">
<label for="Product_StandardPrice">StandardPrice</label>
</div>
<div class="editor-field">
<input data-val="true" data-val-number="The field StandardPrice must be a number." data-val-required="The StandardPrice field is required." id="Product_StandardPrice" name="Product.StandardPrice" style="width:45px;text-align:right;" type="text" value="1.50" />
<span class="field-validation-valid" data-valmsg-for="Product.StandardPrice" data-valmsg-replace="true"></span>
</div>
<div class="editor-label">
<label for="Product_MiniPrice">MiniPrice</label>
</div>
<div class="editor-field">
<input data-val="true" data-val-number="The field MiniPrice must be a number." data-val-required="The MiniPrice field is required." id="Product_MiniPrice" name="Product.MiniPrice" style="width:45px;text-align:right;" type="text" value="0.00" />
<span class="field-validation-valid" data-valmsg-for="Product.MiniPrice" data-valmsg-replace="true"></span>
</div>
<input data-val="true" data-val-number="The field Id must be a number." data-val-required="The Id field is required." id="Product_Id" name="Product.Id" type="hidden" value="102" />
<p>
<input type="submit" value="Save" />
</p>
</fieldset>