0

我对 MVC3 非常陌生,并且正在使用 MVC3 razor 应用程序。我需要以这样的方式验证 View 上的文本框,文本框将只接受那些以字符“PR”开头的字符串,并且该字符串的第 4 个字符必须为“2”。如果有人帮助我,那就太好了。提前致谢

4

2 回答 2

0

那么你需要正则表达式。我不确定正则表达式是什么以及您的字符串包含什么。但是,如果您需要在那里有 2 个匹配项,您可以将其拆分并使用 2 个文本框并加入帖子中的值。

视图模型:

public class MyViewModel 
{
    [RegularExpression("^PR[A-Za-z0-9]", ErrorMessage= "Invalid Text1")]
    public string MyText1 { get; set; }

    [RegularExpression("^2[A-Za-z0-9]", ErrorMessage= "Invalid Text2")]
    public string MyText2 { get; set; }
}

警告,这个正则表达式可能有问题。我邀请其他人编辑/发表评论,我可以用正确的正则表达式更新它

看法:

@model MyProject.Models.MyViewModel

@using (Html.BeginForm())
{

     @Html.TextBoxFor(m => m.MyText1)
     @Html.TextBoxFor(m => m.MyText2)

     <button type="submit">Submit</button>

}

希望这可以帮助

于 2013-07-24T07:11:49.390 回答
-1

模型

 public class RegisterModel
    {
        public int ID { get; set; }

        [RegularExpression(@"^PR[a-zA-Z0-9]2([a-zA-Z0-9]*)$", ErrorMessage = "Please enter valid Name.")]
        [Required(ErrorMessage = "Name is required.")]
        public string Name { get; set; }

    }

看法

        @using (Html.BeginForm("DYmanicControllerPage", "Test", FormMethod.Post, new { id = "FrmIndex" }))
        { 

            <div>
                @Html.LabelFor(m => m.Name)
                @Html.TextBoxFor(m => m.Name)
                @Html.ValidationMessageFor(m => m.Name)
            </div>
}
于 2013-07-24T08:00:34.963 回答