Предотвращение специальных символов в поле компонента tridion и изменения в схеме

В компоненте я не должен позволять вводить какие-либо специальные символы. Когда я пытаюсь ввести запятую, она должна предлагать "специальные символы не допускаются". Пожалуйста, предложите, где я могу внести необходимые изменения. Я попытался внести некоторые изменения в схему (источник), как добавление, но не работает.

<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 ответ

То, что вы запрашиваете, - это пользовательская проверка, которая не может быть наилучшим образом согласована с помощью схемы (XSD). Вы можете сделать это с помощью функции, называемой гранями. Проверьте sdllive документы для примеров. Вы можете заставить его выдавать вам сообщения об ошибках валидации, но вы не можете настроить сами сообщения, и они выглядят уродливо и страшно в поисках обычного редактора контента.

Другие подходы:

1) разработать пользовательское событие через систему событий. Это самый простой вариант ИМО. Просто сгенерируйте исключение с пользовательским сообщением в событии Compenent Save на этапе инициализации.

2) разработать пользовательское расширение графического интерфейса для проверки. Это IMO больше работы, чем выше, но достижимо.

Другие вопросы по тегам