我有一个模型,它有一个名为的字段
public DateTime birthday {get ; set; } = DateTime.Today;
public int age = 0;
我的Razor文件
<div class="wrap-input100 validate-input">
<InputDate class="input100" id="birthday" @bind-value="CurrentCustomerModel.birthday" />
</div>
所以我想做的是一些前端验证。如果这个人不到50岁,我想显示一条信息,说";对不起你太年轻了"(或任何东西(。
Age
不应该是存储的数据——它是基于查询时间计算的值;因此,我建议将其作为动态计算的只读属性:
public DateTime Birthday { get; set; } = DateTime.Today;
public int Age
{
get
{
var today = DateTime.Today;
var age = today.Year - Birthday.Year;
if (Birthday.Date > today.AddYears(-age)) age--;
return age;
}
}
现在您有了一个计算字段,它将给出准确的Age
(以年为单位(,然后您可以使用它与50
进行比较。
请注意,年龄计算来自这个答案。