我正在研究一个需要验证表单输入的多文化站点,特别是用户在前端输入的日期。
我遇到的问题是注释的价值必须是常数。我目前有:
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public string PreferredDate { get; set; }
但是我希望在运行时根据文化来确定日期格式,例如en-US将是MM / dd / yyyy,而en-GB将是dd / MM / yyyy,如上所述。
陈述的问题是属性参数必须是常量,所以我不能做一些像:
[DisplayFormat(DataFormatString = "{0:" + CultureInfo.CurrentCulture.DateTimeFormat.ToString() + "}", ApplyFormatInEditMode = true)]
到底有没有?