如何验证MVC3中必须包含以字符开头的字符串的文本框" PR"

时间:2013-07-24 05:26:47

标签: asp.net-mvc-3

我非常擅长MVC3并使用MVC3剃须刀应用程序。我需要以这样的方式验证View上的文本框:文本框只接受那些以字符“PR”开头且该字符串的第4个字符必须为“2”的字符串。如果有人帮助我会很棒。提前致谢

2 个答案:

答案 0 :(得分:0)

嗯,你需要正则表达式。我不完全确定正则表达式是什么以及你的字符串包含什么。但是如果你需要有2个匹配,你可以拆分它并使用2个文本框并加入post上的值。

视图模型:

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>

}

希望这有帮助

答案 1 :(得分:-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>
}