[英]Jquery Validation MVC3 asp.net not showing Validation msg
我的模特上有这个
[Required]
public string AppName { get; set; }
在我的布局页面上
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.24.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"></script>
my view has this inside BeginForm
@Html.EditorFor(model => model.App.AppName, new { size = 35 })
@Html.ValidationMessageFor(model => model.App.AppName)
<input type="submit" value="Start Business" class="demo-button ui-state-default ui-corner-all" />
this is how its rendered
<input id="App_AppName" class="text-box single-line watermark" type="text" value="" name="App.AppName" data-val-required="The AppName field is required." data-val="true">
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="App.AppName"></span>
当我点击提交时,我没有得到任何验证,说AppName是必需的,但它只是回发到具有空字段的服务器。
我添加了几个字段作为validationMsgFor隐藏的字段,并且可以正常工作。
所以我有的是
public class AppContent
{
public App App { get; set; }
public bool CreateModal { get; set; }
public AppContent()
{
}
}
我的视图是AppContent类型。
我注意到的一件事是,当我只是直接添加带有App对象的视图时,就会根据需要检测到AppName。 但是当我使用类型为AppName的AppCOntent进行验证时,不会显示验证,但对于非字符串的其他隐藏字段,它可以工作。
您必须在web.config中启用客户端验证。
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
你必须把这个脚本
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
因为我有水印,我不得不使用占位符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.