防止tridion组件字段中的特殊字符和模式

时间:2015-11-09 10:23:47

标签: xsd tridion xsd-validation xsd-1.0 tridion-core-services

在组件中,我不应该允许输入任何特殊字符。当我尝试输入逗号时,应该建议“不允许特殊字符”。请建议我在哪里进行必要的更改。我尝试在架构(源代码)中进行一些更改,例如添加但不工作。

<xsd:element name="FileName">
 <xsd:simpleType>
  <xsd:restriction base="xsd:string">
   <xsd:pattern value="[a-zA-Z0-9_.' !@#$%^*()_+={}|/:;,>?/`~ ]"/>
  </xsd:restriction>
 </xsd:simpleType>
</xsd:element>

1 个答案:

答案 0 :(得分:1)

您要求的是自定义验证,可能无法通过架构(XSD)进行最佳调整。您可以通过名为facets的功能在那里完成。查看sdllive文档以获取示例。你可以让它给你验证错误信息,但是你不能自己定制信息,而且它们很难找到普通的内容编辑器。

其他方法是:

1)通过Event System开发自定义事件。这是IMO最简单的选择。只需在Init阶段的Compenent Save事件中使用自定义消息抛出异常。

2)开发自定义GUI扩展以进行验证。这个IMO比上面的工作更多,但是可以实现。