这可能是一个好主意,建立验证到您的视图模型的一部分,所以你有这样的事情在你的模型如下:
[RegularExpression(@"^[\S]*$", ErrorMessage = "White space found")]
public string MyField {get;set;}
然后,你可以做你的看法如下:
@Html.TextBoxFor(model => Model.MyField , new { })
@Html.ValidationMessageFor(model => Model.MyField)
要获得客户端的工作,你将不得不启用客户端验证和不显眼的JS,你可以通过设置在下面做你的主要部分web.config
您还需要携带jquery.validate.js和jquery.validate.unobtrusive.js文件到您的网页。 他们都应该在脚本文件夹,当您创建MVC3一个新的项目捆绑在一起。
最后,在服务器端的操作方法,你会想要的东西看起来有点像这样:
[HttpPost]
public ActionResult Index(Thing myThing) {
if (ModelState.IsValid) {
//Do some work in here because we're all good
return RedirectToAction("MyOtherAction");
}
//Oops the validation failed so drop back to the view we came from
return View();
}
在客户端JS wholy依靠是危险的,因为它在理论上是可能绕过导致断线的数据获取到服务器侧。
上述正则表达式应该做你想要的验证,但我的正则表达式的技能是有点生疏。