如何通过在前端输入字段日期来计算年龄



我有一个模型,它有一个名为的字段

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进行比较。

请注意,年龄计算来自这个答案。

相关内容

  • 没有找到相关文章

最新更新