gpt4 book ai didi

asp.net-mvc-3 - 是否有可能让标准 ASP.NET MVC 不显眼的验证在 Orchard CMS 中工作?

转载 作者:行者123 更新时间:2023-12-04 05:45:08 25 4
gpt4 key购买 nike

我正在尝试构建一个自定义模块以与 Orchard CMS 集成以实现业务应用程序。虽然 Orchard CMS 是一个 MVC 应用程序,但似乎不可能(或者至少很容易)完成所有可以使用 MVC “开箱即用”完成的事情。

我正在尝试通过不显眼的验证来处理我的观点,但似乎无法让它发挥作用。

更新 :根据下面 Rohan West 的建议,我现在使用 ResourceManifest 类和 Script.Require 调用将脚本包含在页面中。

但是,尽管在我使用 @Html.EditorFor 的属性上有 .NET 属性,但实际 HTML 元素上的验证属性并未生成。

我在 web.config 文件中设置了 appSettings,如下所示:

<appSettings>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>

<add key="webpages:Enabled" value="false" />
<add key="log4net.Config" value="Config\log4net.config" />
</appSettings>

还是不开心!

更新 2:根据 Rohan West 的建议,修改 OrchardStarter 类以注释掉以下行“解决”了问题:
    ModelValidatorProviders.Providers.Clear();
ModelValidatorProviders.Providers.Add(new LocalizedModelValidatorProvider());

不过应该有更好的方法来处理这个问题。

最佳答案

您需要在模块的资源 list 中定义脚本。

public class ResourceManifest : IResourceManifestProvider
{
public void BuildManifests(ResourceManifestBuilder builder)
{
var manifest = builder.Add();

manifest.DefineScript("jQueryValidation").SetUrl("jquery.validate.js", "jquery.validate.min.js").SetVersion("1.7").SetDependencies("jQuery");
manifest.DefineScript("jQueryValidation_Unobtrusive").SetUrl("jquery.validate.unobtrusive.js", "jquery.validate.unobtrusive.min.js").SetDependencies("jQuery", "jQueryValidation");
}
}

然后在你的页面
@{ 
this.Script.Require("jQueryValidation_Unobtrusive").AtHead();
}

看看下面的课
Orchard.Environment.OrchardStarter

在 Orchard 1.4.2 中有一行删除了所有 ModelValidatorProviders
ModelValidatorProviders.Providers.Clear();

这是从集合中删除默认的 DataAnnotationsModelValidatorProvider 。
您可以尝试将其添加到集合中,

关于asp.net-mvc-3 - 是否有可能让标准 ASP.NET MVC 不显眼的验证在 Orchard CMS 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10778897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com