asp.net-mvc – 使用其他bool字段进行MVC远程验证
|
我正在尝试使用远程验证和其他bool复选框字段 [Remote("IsStorageConnectionValid","TenantManagement",AdditionalFields = "CreateStorage")]
public String StorageConnectionString { get; set; }
验证码 public JsonResult IsStorageConnectionValid(string storageConnectionString,bool createStorage){
它在击中验证器方面非常有效.但是,无论复选框的值如何,createStorage始终为true.如果我使用非复选框的其他字段,则可以完美地提供它们. 复选框作为标准创建: @Html.CheckBoxFor(m => m.CreateStorage) 这是一个错误吗?或者我做错了吗? Fiddle Is here (Is MVC4 I think but does the same thing) 解决方法与@ Html.CheckBoxFor一起使用时,这似乎是一个错误.问题是CheckBoxFor呈现2个元素,一个值为“true”的复选框和一个值为“false”的隐藏输入(未选中复选框不会回发,因此第二个隐藏输入确保将值回发以供DefaultModelBinder使用)查看jquery.validate.unobtrusive.js文件的相关部分 adapters.add("remote",["url","type","additionalfields"],function (options) {
var value = {
url: options.params.url,type: options.params.type || "GET",data: {}
},prefix = getModelPrefix(options.element.name);
$.each(splitAndTrim(options.params.additionalfields || options.element.name),function (i,fieldName) {
var paramName = appendModelPrefix(fieldName,prefix);
value.data[paramName] = function () {
return $(options.form).find(":input[name='" + escapeAttributeValue(paramName) + "']").val();
};
});
setValidationValues(options,"remote",value);
});
return语句返回(在你的例子中).find(‘:input [name =“CreateStorage”]’).val();返回名称=“CreateStorage”的第一个输入的值,该值始终为true(复选框的值) 作为测试,如果使用HiddenFor渲染值而不是CheckBoxFor,您将在IsStorageConnectionValid方法中收到正确的值(但当然这会有所帮助,因为您无法更改值) 不确定最佳解决方案,但不显眼的脚本应该首先检查.find(..)是否返回多个元素,然后如果第一个是未选中的复选框,则返回第二个元素的值. 编辑 我已将此报告为issue at Codeplex 编辑2 我被告知这个问题现在已经是fixed here了 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 值不能为空或为空.参数名称:contentPath
- asp.net-mvc-5 – 如何使用asp.net身份更改当前用户的UserN
- ASP.NET LinkButton / ImageButton和JQuery验证?
- asp.net – 我如何使用AJAX来确定用户的会话是否已过期,然后
- asp.net-mvc – 使用Razor在ASP.NET MVC 4中防止@ Html.Lab
- 防止ASP.Net中的重复回发(C#)
- ASP.NET 2.0:编写错误页面的最佳实践
- asp.net-mvc – 为什么要使用视图模型?
- asp.net-mvc – 如何为其模型调用“null”的局部视图?
- asp.net – 如何在不重新启动应用程序的情况下清除网站的Ou
- ASP.NET(.asmx)webservices中的客户端IP地址
- 单元测试 – Stubbing或Mocking ASP.NET Web API
- asp.net-mvc-3 – MVC 3使用RenderPage更改视图中
- asp.net-mvc – 如何在ASP.NET MVC中使用单选模式
- iis-7 – 如何配置IIS 7(折扣asp.net)以指向应用
- ASP.NET MVC 3,如何做主题权限
- asp.net-mvc-3 – 大量使用ViewBag
- asp.net文件下载 – 跟踪下载的大小
- asp.net – 小数点后尾数为零
- “DataSource和DataSourceID都被定义为”使用ASP
