asp.net-mvc-3 – 对复选框不起作用的MVC不显眼的验证
发布时间:2020-05-29 18:27:38 所属栏目:asp.Net 来源:互联网
导读:我试图实现 this post中提到的代码。换句话说,我试图在条款和条件复选框上实现不显眼的验证。如果用户尚未选中该复选框,则输入应标记为无效。 这是服务器端验证程序代码,我已经添加: /// summary/// Validation attribute that demands that a boolean va
|
我试图实现 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.net中编写javascript代码后面使用C#
- asp.net-mvc-2 – asp.net-mvc2 – 不使用Model的强类型助手
- asp.net-mvc – “GenerateResource”任务失败,意外地为空的
- .net中的深拷贝与浅拷贝
- asp.net-mvc – 如何使用“?”路由查询字符串以及如何处理
- asp.net-core – ASP.NET 5中RegisterObject / QueueBackgr
- asp.net-mvc-3 – 当HTTP响应状态设置为400时,IIS覆盖HTTP响
- asp.net-identity – IIdentity.Name与IIdentity.GetUserNa
- asp.net中的页面卸载事件
- asp.net-mvc – 将类应用于@ Html.ValidationMessageFor
推荐文章
站长推荐
- asp.net-mvc-3 – 如何在MVC3 / 4中的Html.Begin
- asp.net-mvc-4 – 从ASP.NET MVC Action调用Conf
- asp.net-mvc – SignalR和MVC包
- asp.net-core – ASPX.NET核心 – IIS服务器上的
- asp.net-mvc – 在ASP.Net MVC中使用System.Guid
- asp.net-mvc – 如何asp.net(mvc)服务器返回错误
- asp.net-mvc – 如何为mvc应用程序中的所有控制器
- asp.net – 如何禁用通过IIS提供的单页面应用程序
- asp.net mvc 3 c#post变量数组
- asp.net-core-signalr – 在ClientSide上获取Sig
热点阅读
