Mar*_*arc 19 asp.net-mvc datetime data-annotations
我有以下代码:
[DisplayName("58.Date and hour of birth")]
[DataType(DataType.DateTime, ErrorMessage = "Please enter a valid date in the format dd/mm/yyyy hh:mm")]
[Range(typeof(DateTime), "1/1/2011", "1/1/2016")]
[RequiredToClose]
public object V_58 { get; set; }
Run Code Online (Sandbox Code Playgroud)
我想强制包含时间(格式为hh:mm)而不仅仅是日期.此代码将1/1/2011视为有效,因为它不包含小时,有关如何表达正确格式的任何线索?(dd/mm/yyyy hh:mm)
Dav*_*Fox 28
你可以自己编写ValidationAttribute并用它装饰属性.您可以IsValid使用自己的逻辑覆盖该方法.
public class MyAwesomeDateValidation : ValidationAttribute
{
public override bool IsValid(object value)
{
DateTime dt;
bool parsed = DateTime.TryParse((string)value, out dt);
if(!parsed)
return false;
// eliminate other invalid values, etc
// if contains valid hour for your business logic, etc
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
最后,装饰你的财产:
[MyAwesomeDateValidation(ErrorMessage="You were born in another dimension")]
public object V_58 { get; set; }
Run Code Online (Sandbox Code Playgroud)
注意:要警惕属性上的多个验证属性,因为无法在没有更多自定义的情况下确定它们的评估顺序,并且随后验证逻辑重叠,您的错误消息可能无法准确描述错误到底意味着什么与财产(是的,这是一个连续的句子)
| 归档时间: |
|
| 查看次数: |
39905 次 |
| 最近记录: |