我目前正在构建一个表单,要求用户输入他们的出生日期。我已经确定最用户友好的方法是通过单独的日期、月份和年份输入字段。
我有一个强类型视图,其中包含出生日期、出生月份和出生年份的文本框。将表单发布到服务器后,我需要将这些发布的字符串值转换为正确的 DateTime 对象。我目前正在执行年龄验证测试的自定义验证器中生成此 DateTime 对象,但我相信有更好的方法。
到目前为止,我已经尝试在模型构造函数中构建 DateTime 对象,如下所示:
public class Applicant
{
[Required(ErrorMessage = "Day Required")]
public string DobDay { get; set; }
[Required(ErrorMessage = "Month Required")]
public string DobMonth { get; set; }
[Required(ErrorMessage = "Year Required")]
[BirthDateValidation("DobDay", "DobMonth")]
public string DobYear { get; set; }
public DateTime BirthDate { get; set; }
public Applicant()
{
this.BirthDate = new DateTime(Convert.ToInt32(this.DobYear), Convert.ToInt32(this.DobMonth), Convert.ToInt32(this.DobDay));
}
}
有没有办法让这个任务更加自动化,就像我上面尝试的那样,当表单发布到服务器时,使用发布的出生日期、出生月份、出生年份表单值自动构建 DateTime 对象?