Asp.net mvc 4 ASP.Net MVC4中未绑定文本框的验证
我有一个视图的以下代码,其中我提交了来自3个不同文本框的一些数据。这只是我创建的一个实践示例。我正在ASP.Net中使用Razor语法和MVC4 我的问题:如何验证文本框,使其始终是必需的Asp.net mvc 4 ASP.Net MVC4中未绑定文本框的验证,asp.net-mvc-4,validation,Asp.net Mvc 4,Validation,我有一个视图的以下代码,其中我提交了来自3个不同文本框的一些数据。这只是我创建的一个实践示例。我正在ASP.Net中使用Razor语法和MVC4 我的问题:如何验证文本框,使其始终是必需的 @{ ViewBag.Title = "HelloWorld"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>HelloWorld</h2> <div>This is a sample Hello Wor
@{
ViewBag.Title = "HelloWorld";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>HelloWorld</h2>
<div>This is a sample Hello World page</div>
<h1>@ViewBag.Title</h1>
<h2>@ViewBag.Message</h2>
@using (Html.BeginForm("HandleSubmit", "Home"))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary()
<fieldset>
<legend>Registration Form</legend>
<ol>
<li>
@Html.Label("username", "UserName")
@Html.TextBox("username")
</li>
<li>
@Html.Label("pwd", "Password")
@Html.Password("pwd")
</li>
<li>
@Html.Label("cpwd", "Confirm Password")
@Html.Password("cpwd")
</li>
</ol>
<input type="submit" value="TestPost" />
<div style="color:red;font-weight:bold">@ViewBag.Feedback</div>
</fieldset>
}
在帮助器的html属性参数中设置所需的属性
@Html.TextBox("username", null, new { @required="required", @oninvalid="setCustomValidity('I\'m required')" })
要自定义它并获得与MVC模板相同的效果,您需要jquery.validate.js
和jquery.validate.unobtrusive.js
@Html.TextBox("username", null, new { @data_val_required="I'm required", @data_val="true" })
<span data-valmsg-replace="true" data-valmsg-for="username"></span>
@Html.TextBox(“用户名”,空,新{@data\u val\u required=“我是必需的”,@data\u val=“true”})
什么是未绑定的文本框?这些不是模型中的属性吗?它不绑定到模型中的任何属性。谢谢你的回答。对于上述情况,我如何显示自定义消息而不是标准消息?我已将此添加到我的回答中。我使用另一种格式自定义验证消息,如我原始帖子的更新1所示。你觉得这样行吗?它似乎在IE11中起作用。
@Html.TextBox("username", null, new { @data_val_required="I'm required", @data_val="true" })
<span data-valmsg-replace="true" data-valmsg-for="username"></span>