Asp.net mvc javascript客户端验证不起作用
这是我的布局页面href链接Asp.net mvc javascript客户端验证不起作用,javascript,asp.net-mvc,validation,client,Javascript,Asp.net Mvc,Validation,Client,这是我的布局页面href链接 <head> <meta name="viewport" content="width=device-width" /> <link href="∼/Content/bootstrap.css" rel="stylesheet" /> <link href="∼/Content/bootstrap-theme.css" rel="stylesheet" /> <link href=
<head>
<meta name="viewport" content="width=device-width" />
<link href="∼/Content/bootstrap.css" rel="stylesheet" />
<link href="∼/Content/bootstrap-theme.css" rel="stylesheet" />
<link href="∼/Content/ErrorStyles.css" rel="stylesheet" />
<script src="∼/Scripts/jquery-1.9.1.js"></script>
<script src="∼/Scripts/jquery.validate.js"></script>
<script src="∼/Scripts/jquery.validate.unobtrusive.js"></script>
<title></title>
</head>
当我查看源代码时,该页正在呈现正确的data val=true和data val required错误消息,这些消息由我的cs类中的数据批注传递。但是页面上没有显示任何内容
这是我的编辑视图中的html文件
@model SportsStore.Domain.Entities.Product
@{
ViewBag.Title = "Admin: Edit " + @Model.Name;
Layout = "~/Views/Shared/_AdminLayout.cshtml";
HtmlHelper.ClientValidationEnabled = true;
HtmlHelper.UnobtrusiveJavaScriptEnabled = true;
}
<div class="panel">
<div class="panel-heading">
<h3>Edit @Model.Name</h3>
</div>
@using (Html.BeginForm("Edit", "Admin", FormMethod.Post))
{
<div class="panel-body">
@Html.HiddenFor(m => m.ProductID)
@foreach (var property in ViewData.ModelMetadata.Properties)
{
if (property.PropertyName != "ProductID")
{
<div class="form-group">
<label>@(property.DisplayName ?? property.PropertyName)</label>
@if (property.PropertyName == "Description")
{
@Html.TextArea(property.PropertyName, null, new { @class = "form-control", rows = 5 })
}
else
{
@Html.TextBox(property.PropertyName, null, new { @class = "form-control" })
}
@Html.ValidationMessage(property.PropertyName)
</div>
}
}
</div>
<div class="panel-footer">
<input type="submit" value="Save" class="btn btn-primary" />
@Html.ActionLink("Cancel and return to List", "Index", null, new { @class = "btn btn-default" })
</div>
}
</div>
你有吗
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
关于模型示例:
[Required()]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password {
get { return passwordValue; }
set { passwordValue = value; }
}
我不确定,您可能需要使用强类型助手。尝试将html帮助程序替换为For等效项:@html.TextBoxForx=>x.PropertyName,new{…}我在登录页面中尝试了这个方法,但仍然不起作用@使用Html.BeginForm{@Html.ValidationSummary用户名:@Html.TextBoxForm=>m.UserName,新的{@class=form-control}密码:@Html.PasswordForm=>m.Password,新的{@class=form-control}}''这些是我的应用程序设置。他们是真的…我在想有一个不兼容的javascript库或其他东西。。。我不知道。您是否为其定义了css?'。字段验证错误{color:f00;}。字段验证有效{display:none;}。输入验证错误{border:1px solid f00;background color:fee;}。验证摘要错误{font-weight:bold;color:f00;}。验证摘要有效{display:none;}你在你的模型上设置了属性[Required]吗?我解决了这个问题。当我复制并粘贴链接到我的文件中时。。。“~”符号不是相同的ascii码。修改后我有了
[Required()]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password {
get { return passwordValue; }
set { passwordValue = value; }
}