Предотвращение специальных символов в поле компонента 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 больше работы, чем выше, но достижимо.