asp.net-mvc-3 – Orchard CMS DataAnnotations – 客户端验证
|
我试图让一个不明显的客户端验证工作在一个果园模块,但我遇到了一个问题. 在这个例子中,我只是试图使用Html.TextBoxFor()强制在一个文本框字段上的RequiredAttribute. 它看起来像是由Orchard(LocalizedModelValidatorProvider)实现的自定义ModelValidatorProvider防止HTML5输入属性被渲染,具体来说: data-val data-val-required 对于标准的DataAnnotations RequiredAttribute.这些属性是jQuery.validate.unobtrusive工作所必需的. LocalizedModelValidatorProvider将RequiredAttribute映射到LocalizedRequiredAttribute,因此在为使用LocalizedRequiredAttribute装饰的模型属性呈现文本框输入时,Orchard ViewEngine中可能还会出现一个错误(或未实现的功能)? 我怀疑这不会发生: tagBuilder.MergeAttributes(htmlHelper.GetUnobtrusiveValidationAttributes(name,metadata)); (来自System.Web.Mvc.Html.InputExtensions) 我目前正在运行Orchard 1.3.9. 注意:一个棘手的解决方法是删除OrchardStarter模块中LocalizedModelValidatorProvider的注册,并将其默认返回到标准MVC 3提供程序,尽管如果可能,我很想打扰Orchard源代码(更不要说我可能需要本地化某些消息)… 解决方法我花了3个星期来解决在MyPrettyCMS对话框中使用的无阻碍的验证问题.我也使用LocalizedRequiredAttribute,你可以看到那些AutoGenerated MetaDataModels. 我不知道Orcad,但我认为它像JQuery对话框一样呈现用户表单. 有两个困难: 第一步:您必须(重新)将对话框字段附加到用于将数据发送到服务器的表单. 第二:您必须(重新)解析表单以获得有效的无条件验证 你可以在这里找到一个完整的JQuery Dialog based Form,使用无阻碍的验证,并重点关注$.validator.unobtrusive.parse(form); 在JQuery common tool box中查看$.fn.jqDialogFunction $.fn.jqDialogFunction = function (idDiv,titre,okFunction,openFunction) {
var dialogBox = $(idDiv)
//$(dialogBox).removeClass("notDisplayed");
$(dialogBox).hide();
$(dialogBox).dialog({
title: titre,autoOpen: false,resizable: false,modal: true,minHeight: 450,minWidth: 800,open: openFunction,buttons: [
{
text: "Ok",click: okFunction
},{
text: "Cancel",click: function () {
$(this).dialog("close");
}
}
]
});
var form = dialogBox.find("form");
if (form != null) {
$.validator.unobtrusive.parse(form);
}
$(idDiv).dialog('open');
}
然后查看方法$.fn.SaveContent – > $(“#divStructurePage”).parent().appendTo(form); $.fn.SaveContent = function () {
$(this).dialog("close");
var content = tinyMCE.activeEditor.getContent();
$("#hidNewContent").val(content);
var v = $("#StructurePage_FK_LayoutMenu_Translation").val();
var form = $("#frmManagedContent");
$("#divStructurePage").parent().appendTo(form);
form.attr("action","/"+ $("#hidControllerName").val() +"/Save/" + v);
form.submit();
} (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如何使用resxresourcewriter写入所有三个值?
- .net – 有人有一个例子,说明为什么我会主持一个WCF服务
- Asp.NEt邮箱验证修改密码通过邮箱找回密码功能
- asp.net-mvc – 使用自定义格式的ASP.NET MVC ViewModel映射
- asp.net-mvc – ASP.NET MVC模型/ ViewModel验证
- asp.net-mvc – 如何使用selenium进行ASP.NET MVC集成测试
- ASP.NET清空缓存时遇到的问题简析
- 使用ASP.NET Identity 2.0和MVC 5进行自定义单点登录
- asp.net-mvc – 如何使用ASP.NET MVC ApiController获取GET
- asp.net – 如何正确地大写希腊字在.NET?
- ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实
- asp.net – Javascript日期本地化
- asp.net – ASP.NET中的“关键字不支持:”错误
- 有标签的ASP.NET WebControl吗?
- asp.net后台cs中的JSON格式变量在前台Js中调用方
- 如何在Asp.Net Mvc中进行Basecamp风格的账户?
- asp.net-mvc – 有条件地在webgrid中显示图像 –
- asp.net-mvc – 使用自定义格式的ASP.NET MVC Vi
- asp.net – 从多个Web.config文件访问appSetting
- asp.net-mvc-4 – 如何在Kendo UI Grid中扩展页面
