Sitecore 7: проверка полей даты с помощью Javascript или Jquery

Можем ли мы проверить два поля даты в редакторе контента sitecore с помощью Javascript?

Здесь у меня есть поле «Дата начала» и «Дата окончания». Мне нужно сообщить пользователю, что «Дата окончания» всегда должна быть больше, чем «Дата начала». Могу ли я сделать это с помощью Javascript и не позволять им сохранять, пока это не будет исправлено.

Пожалуйста, дайте мне знать, возможно ли это вместо использования интерфейса сохранения, конвейера сохранения или валидаторов (я не смог сделать с валидаторами, так как я не получал предварительно сохраненные значения с ним в коде.


person Suhas    schedule 24.06.2014    source источник


Ответы (2)


Если вы не хотите использовать валидаторы (которые действительно являются правильным инструментом для работы), лучшим альтернативным вариантом является создание собственного настраиваемого поля. Это достаточный объем работы, но он позволит вам контролировать все, что касается поля, когда оно сохраняется в базе данных и тому подобное.

Информация здесь: http://gettingtoknowsitecore.blogspot.co.uk/2010/03/custom-fields-part-1.html

Вам потребуется настраиваемое поле, позволяющее пользователю вводить даты начала и окончания и запрещающее сохранение в случае сбоя проверки.

person Mark Cassidy    schedule 24.06.2014
comment
Я не мог использовать валидаторы, так как они не давали мне предварительно сохраненных значений. - person Suhas; 25.06.2014

Вы можете использовать правила проверки и закодировать логику проверки на C#. Кроме того, убедитесь, что для параметра результата валидатора установлено значение Result=FatalError.

person Zachary Kniebel    schedule 24.06.2014
comment
Я не мог использовать валидаторы, так как они не давали мне предварительно сохраненных значений. - person Suhas; 25.06.2014
comment
Что вы имеете в виду, когда не даете вам предварительно сохраненные значения? - person Zachary Kniebel; 25.06.2014
comment
Под предварительно сохраненным значением я подразумеваю, что говорят всякий раз, когда вы меняете дату начала с 5 июня на 6 июня. Я всегда получаю 5 июня, а не 6 июня в коде валидатора позади. - person Suhas; 26.06.2014
comment
Также я разместил вопрос по этому поводу @ stackoverflow. com/questions/23539638/ но ответа не получил.. :( - person Suhas; 26.06.2014
comment
Вы также можете попробовать сделать это с помощью обработчика события Save, если ничего не помогает. - person Zachary Kniebel; 26.06.2014