У меня есть модель с несколькими атрибутами, которые являются либо десятичными, либо двойными. Я не хочу, чтобы они требовались, но я не могу найти способ отключить наследование требуемого атрибута.
Вот фрагмент документации по проверке страниц бритвы:
Атрибуты Required и MinimumLength указывают, что свойство должно иметь значение. Однако ничто не мешает пользователю ввести пробел, чтобы удовлетворить ограничение проверки для типа, допускающего значение NULL. Типы значений, не допускающие значение NULL (такие как decimal, int, float и DateTime), являются обязательными по своей природе и не нуждаются в атрибуте Required.
// Model
public class Foo
{
public decimal SomeRate {get; set;}
}
// Page
<form method="post">
<div class="col-md-4">
<div class="form-group">
<label asp-for="BuyAndHoldReport.Mortgage" class="control-label"></label>
<input asp-for="BuyAndHoldReport.Mortgage" class="form-control" />
<span asp-validation-for="BuyAndHoldReport.Mortgage" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-success" />
</div>
</form>
Редактировать:
- Я хочу попытаться не делать атрибуты обнуляемыми, потому что я хочу, чтобы они сохранялись со значением по умолчанию, а не с нулевым значением.
- Я хочу попытаться избежать значений по умолчанию при загрузке страницы, потому что, если пользователь редактирует один из атрибутов, я не хочу, чтобы им приходилось помнить значение по умолчанию, прежде чем они изменят его, если они хотят отменить его.