关于数据注释的正则表达式

时间:2011-11-21 15:06:59

标签: regex asp.net-mvc-3

我有一个关于MVC3模型的正则表达式,它需要检查字符串的第一个字符以确保它以零开头,然后是另外6个数字,这就是我所拥有的:

[RegularExpression(@"^0", ErrorMessage = "value must start with a zero.")]

无论我在字段中键入什么,它都会返回错误消息:

1 = error
0 = error
0000000 = error message

这里的任何想法

由于

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

[RegularExpression(@"^0[\d]{6}$", ErrorMessage = "Value must start with a zero.")]

答案 1 :(得分:0)

很奇怪,以下对我来说很好:

型号:

public class MyViewModel
{
    [RegularExpression(@"^0[0-9]{6}$", ErrorMessage = "value must start with a zero.")]
    public string Value { get; set; }
}

控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View(new MyViewModel());
    }

    [HttpPost]
    public ActionResult Index(MyViewModel model)
    {
        return View(model);
    }
}

查看:

@model MyViewModel

@using (Html.BeginForm())
{
    @Html.EditorFor(x => x.Value)
    @Html.ValidationMessageFor(x => x.Value)
    <button type="submit">OK</button>
}