【问题标题】:Sitecore Item ValidatorsSitecore 项目验证器
【发布时间】:2015-07-07 23:33:38
【问题描述】:

我使用验证规则模板创建了一个项目验证器。我正在使用它来检查一个日期字段是否在本教程之后的另一个日期字段之后:https://sitecorejohn.wordpress.com/2010/03/17/validate-that-the-value-of-one-datetime-field-follows-another-with-sitecore。由于某种原因,在我的验证器中使用 GetItem() 提取的项目在保存项目之前没有内容编辑器所做的更改。我认为 Sitecore.Data.Validators.BaseValidator.UpdateItem 会解决这个问题,但似乎我的验证控件为空。这是有道理的,因为它是一个项目验证器而不是一个字段验证器,但这意味着如果在模糊内容编辑器上触发它,他们可能会看到错误的错误消息或在他们应该看到错误消息时看不到错误消息。我也遇到了一个问题,我的 Evaluate 方法在保存时触发了两次;在项目实际保存之前一次,因此 GetItem() 返回未更新的值,并且在保存后返回具有预期值的一次。如果有人对为什么会发生这种情况有任何见解,我想知道。我感觉验证器在保存时执行了两次可能是一个配置问题,但我在管道中没有看到任何非常明显的东西。

【问题讨论】:

  • 你找到解决办法了吗?

标签: validation sitecore sitecore7.2


【解决方案1】:

要获取正在验证的字段的新值,您可以使用 BaseValidator 的

GetControlValidationValue();

【讨论】:

  • 但这适用于字段验证器,而不是请求的项目验证器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-11
相关资源
最近更新 更多