Пожалуйста, смотрите jsfiddle, например, пустое поле "Имя", чтобы показать всплывающую подсказку проверки. В обычной форме подсказка проверки правильности располагается справа от каждого элемента. Но в всплывающем редакторе для сетки он все еще пытается расположить всплывающую подсказку под элементом, как если бы он редактировал встроенную. Я пробовал <span class="k-invalid-msg" data-for="FirstName"></span>
, но ничего не изменил. Есть ли параметр, который мне не хватает, чтобы заставить это работать в popupeditor? Я предполагаю, что могу вручную модифицировать подсказку .k-tooltip, но я надеюсь на что-то более встроенное, которое правильно управляет позиционированием, потому что я не очень хорошо разбираюсь в css.
Подсказка для проверки kendoui в настраиваемом всплывающем редакторе, не правильно позиционирующем
Ответ 1
Как вы обнаружили, шаблон ошибки для сетки отличается от шаблона ошибки, предоставляемого валидатором кендо при применении к стандартным входам.
К сожалению, валидатор, созданный внутри сетки, не проходит по любой шаблону ошибки, который вы можете определить в объекте параметров, и к моменту возникновения события "редактирования" валидатор уже создан и шаблон ошибки скомпилирован, поэтому почему установка errorTemplate в том виде, который вы описываете, не работает. Действительно, я думаю, что сетка Кендо должна уважать любую пользовательскую опцию errorTemplate, но пока нам не придется немного взломать.
Ключ состоит в том, чтобы определить настраиваемый шаблон и применить его в событии редактирования, но вместо использования объекта options напрямую установите частный экземпляр. Не идеально, но он работает:
edit: function (e) {
e.sender.editable.validatable._errorTemplate =
kendo.template($('#tooltip-template').html());
}
См. этот обновленный скрипт для примера того, что, по вашему мнению, вы можете добиться.
Ответ 2
(Я бы опубликовал это как комментарий, но еще недостаточно репутации...)
Я успешно использую nukefusion. Я тоже долго сражался с синтаксической ошибкой из jQuery и обнаружил через отладку, что важно определить шаблон. В частности, кажется, что шаблон должен быть записан на одной строке без какого-либо форматирования, как в:
<script id="tooltip-template" type="text/x-kendo-template"><span class="k-widget k-tooltip k-tooltip-validation"><span class="k-icon k-warning"></span>#=message#</span></script>
Если вы попытаетесь сделать это "красивым" и отформатируете html в шаблоне, вы получите синтаксическую ошибку. Я не знаю, где настоящая ошибка, так как такая вещь не должна вызывать ошибки. Но это так, и я перестала беспокоиться об этом, как только я заработал правильно.