asp.netmvc客户端身份验证不起作用?出于某种原因,我的客户端验证似乎不起作用:这是我的HTML:@using(Html.BeginForm("Create","Home",FormMethod.Post)){@Html.ValidationSummary(true)SelectClient_ID:@foreach(Model.ClientId中的varitem){@item}@Html.LabelFor(model=>model.UserModel.name)@Html.EditorFor(model=>model.UserModel.name)@Html.ValidationMessageFor(model=>model.UserModel.name)@Html.LabelFor(model=>model.UserModel.password)@**@@Html.EditorFor(model=>model.UserModel.password)@Html.ValidationMessageFor(model=>model.UserModel).password)@Html.LabelFor(model=>model.UserModel.email)@**@@Html.EditorFor(model=>model.UserModel.email)@Html.ValidationMessageFor(model=>model.UserModel.email)选择:公司最终用户这是我的模型:publicclassCreateUserModel{[Required][Display(Name="Client_ID")]publicstringclientId{get;放;}[必填(呃rorMessage="Anameisrequired")][MaxLength(20),MinLength(2,ErrorMessage="Namemustbe2characterormore")][Display(Name="Name")]publicstringname{get;放;}[Display(Name="EmailAddress")][Required(ErrorMessage="EmailisRequired")][RegularExpression(@"^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}"+@".[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+"+@".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$",ErrorMessage="电子邮件无效")]公共字符串电子邮件{得到;放;}[Required][MaxLength(20),MinLength(6,ErrorMessage="PasswordMustbe6ormorechataterslong")][Display(Name="Password")]publicstringpassword{get;放;}[必需]publicintaccessLevel{get;放;我确实在webconfig中启用了客户端:{EDIT}添加了呈现的html主页-我的ASP.NET应用程序将用户添加到网站?2014-我的ASP.NET应用程序出于某种原因,Html助手没有生成验证输入的属性(data-val="true"等),请检查除了检查加载JavaScript库的顺序之外:您的问题可能是文件底部有jQuery,但顶部有jquery.validate。jQuery必须在jQuery.validate之前。我建议始终将jQuery放在标题中,而不是文本中,这应该是现代化之后的第一件事。另外,您知道jQuery2.x之前不能与IE8一起使用,对吗?看起来你的jquery.validate.js在错误的地方。它必须在主jqueryref之后。对于MVC5,它应该如下所示:_Layout.cshtml?页面底部)......@Scripts.Render("~/bundles/jquery")@Scripts.Render("~/bundles/bootstrap")@Scripts.Render("~/bundles/jqueryval")@RenderSection("scripts",required:false)其中~/bundles/jqueryval在BundleConfig.cs中定义:RegisterBundles()方法:bundles.Add(newScriptBundle("~/bundles/jqueryval").Include("~/Scripts/jquery.validate*"));使用:@Html.EditorFor代替:当然,您需要jquery.validate.*脚本试试这个:您的验证失败,因为您这个JQuery链接版本在页面底部被硬编码,可能已更新为较新的版本脚本文件夹:您需要做的就是转到“脚本”并查看是否有“jquery-2.1.0.js”文件或将JQuery更新到更新版本。如果找到,请输入更新版本的文件名并再次测试.它现在应该工作了。截至2017年6月,我们正在使用JQuery版本3.1.1这发生在我身上,我一直在拉头发,直到我意识到我已经更新了JQuery并看到它删除了旧版本。我敢打赌那是你的问题。如果你不这样做,我建议不要使用ViewView模板在你的视图页面中粘贴验证脚本,创建一个简单的用户控件或母版页或布局视图页面并用你的JQuery链接填充它,以便所有人共享他们的项目页面。浏览器自然会在第一时间缓存这些页面,所以即使它们没有被其他页面使用也不会被再次加载。不确定它是否正在动态加载(例如使用Ajax加载局部视图)。如果是这样,那么您需要使用成功的验证器解析html,例如使用类似...$.validator.unobtrusive.parse(".target");比如上面是C#学习教程:asp.netmvcclientvalidationdoesn'twork?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注—functionloadAPartialView(endPoint){$.ajax({url:endPoint,type:'GET',cache:false,success:function(result){$('.target').html(result);$('.target').show();//重要。获取客户端需要下一行要运行的验证。$.validator.unobtrusive.parse(".target");$(".loadingMessage").hide();},error:function(result){//错误信息...$(".loadingMessage").hide();}});};本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
