检查字符串是否为带有注释的00:00,00格式

时间:2013-05-23 20:27:44

标签: c# asp.net-mvc annotations

我正在用c#构建一个mvc4项目。我想检查我的模型类中的字段是否使用00:00,00格式填充,就像使用DateTime一样。是否有针对字符串字段的注释,或者我是否必须创建自己的自定义注释?

3 个答案:

答案 0 :(得分:2)

一个简单的RegEx就可以做到。模式是;

RegEx rgx = new RegEx("[0-9]{2}:[0-9]{2},[0-9]{2}");
if (rgx.Match(inputString)) //we're good

这是什么意思;我们需要两个数字(0-9)然后是冒号,然后是两位数的数字,然后是逗号,然后是两个数字。在[]中的RegEx值是一个组,{}内的int告诉你预期有多少重复。我表达式中的其他字符只是文字。

答案 1 :(得分:1)

使用正则表达式:

[RegularExpression("^[0-9]{2}:[0-9]{2},[0-9]{2}$")]
public string Stringy { get; set; }

答案 2 :(得分:1)

如果是时间测量,你不能做一些比正则表达式更聪明的东西吗?

    [DisplayFormat(ApplyFormatInEditMode = true, 
                   DataFormatString      = @"{0:mm\:ss\,ff}")]
    public TimeSpan Time { get; set; }