Regex на аннотации данных - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть регулярное выражение для модели MVC3, которое требует проверки первого символа строки, чтобы убедиться, что она начинается с нуля, затем еще 6 цифр, вот что у меня есть:

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

независимо от того, что я набираю в поле, он возвращает сообщение об ошибке:

1 = error
0 = error
0000000 = error message

Любые идеи здесь

Спасибо

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

Попробуйте следующее:

[RegularExpression(@"^0[\d]{6}$", ErrorMessage = "Value must start with a zero.")]
0 голосов
/ 21 ноября 2011

Странно, у меня отлично работает следующее:

Модель:

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>
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...