如何通过前端输入字段日期计算年龄?
How to calculate age by input field date on the frontend?
我有一个模型,其中有一个名为
的字段
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
不应该是存储的数据——它是一个基于查询时间的计算值;因此我建议将其设为动态计算的 read-only 属性:
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
.
进行比较
注意年龄计算来自this answer。
我有一个模型,其中有一个名为
的字段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
不应该是存储的数据——它是一个基于查询时间的计算值;因此我建议将其设为动态计算的 read-only 属性:
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
.
注意年龄计算来自this answer。