asp.net-mvc-3 – 对复选框不起作用的MVC不显眼的验证
发布时间:2020-12-15 18:39:32 所属栏目:asp.Net 来源:网络整理
导读:我试图实现 this post中提到的代码。换句话说,我试图在条款和条件复选框上实现不显眼的验证。如果用户尚未选中该复选框,则输入应标记为无效。 这是服务器端验证程序代码,我已经添加: /// summary/// Validation attribute that demands that a boolean v
我试图实现
this post中提到的代码。换句话说,我试图在条款和条件复选框上实现不显眼的验证。如果用户尚未选中该复选框,则输入应标记为无效。
这是服务器端验证程序代码,我已经添加: /// <summary> /// Validation attribute that demands that a boolean value must be true. /// </summary> [AttributeUsage(AttributeTargets.Property,AllowMultiple = false,Inherited = false)] public class MustBeTrueAttribute : ValidationAttribute { public override bool IsValid(object value) { return value != null && value is bool && (bool)value; } } 这是模型 [MustBeTrue(ErrorMessage = "You must accept the terms and conditions")] [DisplayName("Accept terms and conditions")] public bool AcceptsTerms { get; set; } 这是我的观点: @Html.EditorFor(x => x.AcceptTermsAndConditions) @Html.LabelFor(x => x.AcceptTermsAndConditions) @Html.ValidationMessageFor(x => x.AcceptTermsAndConditions) 这是我用来附加验证器客户端的jQuery: $.validator.unobtrusive.adapters.addBool("mustbetrue","required"); 然而,客户端脚本似乎没有踢入。每当我按提交按钮,其他领域的验证都可以罚款,但条款和条款的验证。条件似乎没有起作用。这是在点击提交按钮后,Firebug的代码如何。 <input type="checkbox" value="true" name="AcceptTermsAndConditions" id="AcceptTermsAndConditions" data-val-required="The I confirm that I am authorised to join this website and I accept the terms and conditions field is required." data-val="true" class="check-box"> <input type="hidden" value="false" name="AcceptTermsAndConditions"> <label for="AcceptTermsAndConditions">I confirm that I am authorised to join this website and I accept the terms and conditions</label> <span data-valmsg-replace="true" data-valmsg-for="AcceptTermsAndConditions" class="field-validation-valid"></span> 有任何想法吗?我错过了一步吗?这是驱使我的便盆! 提前致谢 解决方法
嗅探器,
除了实现Darin的解决方案,您还需要修改文件jquery.validate.unobtrusive.js。在此文件中,您必须添加“mustbetrue”验证方法,如下所示: $jQval.addMethod("mustbetrue",function (value,element,param) { // check if dependency is met if (!this.depend(param,element)) return "dependency-mismatch"; return element.checked; }); 然后(我首先忘了添加),还必须将以下内容添加到jquery.validate.unobtrusive.js中: adapters.add("mustbetrue",function (options) { setValidationValues(options,"mustbetrue",true); }); 辅导员 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp-classic – 经典asp中的串联字符串
- ASP.NET VB – 从类型’DBNull’到类型’String’的转换无效
- asp.net-mvc – 访问ASP.NET MVC应用程序中的控制器/操作列
- asp.net – 身份cookie在一段时间后会丢失自定义索赔信息
- asp.net-mvc – IIS6中的ASP.NET MVC压缩选项
- asp.net-mvc – 401未授权:访问被拒绝由于无效的凭据
- asp.net-mvc – ALTER TABLE DROP COLUMN失败,因为表’yyy’
- asp.net – 按钮点击后如何启动另一个aspx网页?
- asp.net-mvc – 如何将现有的SQL Server数据库添加到asp.ne
- asp.net – 更好的方式来获取页面名称
推荐文章
站长推荐
热点阅读