我非常擅长MVC3并使用MVC3剃须刀应用程序。我需要以这样的方式验证View上的文本框:文本框只接受那些以字符“PR”开头且该字符串的第4个字符必须为“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>
}