【问题标题】:Implement Tag Cloud and Unique Name Validation in umbraco 7.2.5在 umbraco 7.2.5 中实施标签云和唯一名称验证
【发布时间】:2015-05-22 10:45:02
【问题描述】:

我正在Umbraco 7.2.5 and MVC 中开发 Web 应用程序。您能帮我在 umbraco 中实现以下要求吗?

  1. 通过添加为数据类型在 umbraco 中实现标签云
  2. 类别名称 - 唯一验证

关于第二点,我的要求是,如果管理员输入现有的类别名称并尝试发布,他应该收到一条验证消息并且不应该发布。我认为 Umbraco 7 中默认不提供唯一验证。

如果输入的类别名称已经可用 Umbraco Appends (1) 像三星和三星(1) 一样。经过分析,我找到了一种方法,但我也面临着一些问题。你能帮忙吗?

在保存前事件中验证名称。这种方法的问题是 umbraco 显示一些通用消息 "Publish was cancelled by a third-party plugin" ,管理员无法理解确切原因。我尝试自定义但无法成功。有什么方法可以自定义消息。下面是我的代码试过了。执行发布时,javascript中是否有任何事件要触发。

protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext) {
    ContentService.Saving += ValidateName;
}
private void ValidateName(IContentService sender, Umbraco.Core.Events.SaveEventArgs e) {.....
    if (nameAlreadyExists) {
        e.Cancel = true;
        e.Cancel = true;
        BasePage.Current.ClientTools.ShowSpeechBubble(BasePage.speechBubbleIcon.error, "error", "Already Exists");
    }
}

【问题讨论】:

  • 有什么办法可以阻止用这样的东西提交表单,然后显示消息。 eventsService.on("formSubmitting", function (e, args) { return false;}

标签: javascript angularjs model-view-controller umbraco umbraco7


【解决方案1】:

BasePage.Current.ClientTools 的东西在 v7 的 Angular 位中不起作用,因为那是 ASP.Net MasterPages 的东西。据我所知,目前没有服务器端发出弹出消息的方式(尽管我现在计划很快发布)。根据问题跟踪器上的问题,它应在 7.3 中到期! See issue comments here

【讨论】:

  • 有什么办法可以阻止用这样的东西提交表单,然后显示消息。 $scope.on("formSubmitting", function (e, args) { return false;}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-01
  • 2019-05-28
  • 1970-01-01
相关资源
最近更新 更多