【发布时间】:2019-01-01 18:00:32
【问题描述】:
我有一个模型,其中包含一些小数或双精度属性。我不希望它们是必需的,但我想不出一种方法来禁用所需属性的继承。
这是来自 razor pages 验证文档的 sn-p:
Required 和 MinimumLength 属性表示属性必须有值。但是,没有什么能阻止用户输入空格来满足可空类型的验证约束。不可为 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>
编辑:
- 我想尽量避免使属性可以为空,因为我希望将它们保存为默认值而不是空
- 我想在加载页面时尽量避免默认值,因为如果用户编辑其中一个属性,我不希望他们在更改之前记住默认值(如果他们想取消设置)。
【问题讨论】:
标签: c# asp.net-core-2.0 data-annotations razor-pages