Kendo网格验证不适用于自定义网格行为
Kendo grid validation not working with custom grid behavior
我无法在自定义网格中进行验证。网格用于更改编辑单元格下方单元格的值。两个单元格都有新值后,单元格焦点将设置为下一个单元格(如果按下enter/tab键,则为右侧单元格,或者鼠标单击下一个的单元格)。为了使所有这些工作正常进行,我必须编写自定义refresh()
和current()
函数,并在网格中使用自定义edit()
和save()
事件。我还在单元格中使用自定义编辑器,它删除微调器并选择单元格的值。
我做了一个简化的工作示例,表明验证不起作用。在本例中,您可以编辑第一行中的单元格,当您按enter键或tab键时,下面的单元格将获得与编辑后的单元格相同的值。自定义功能和事件是鼠标和键盘对焦所必需的,所以我必须使用它们。
如果删除单元格的值,然后按enter键,则不会显示验证错误。我想这与我使用的所有自定义函数和事件有关。有没有一种方法可以使验证生效?
示例
我开始工作了,问题出在自定义列编辑器函数中。Telerik的伙计们为我提供了解决方案:
由于缺少验证属性,因此未触发验证。正如您所知,当使用自定义列编辑器时,开发人员负责将适当的验证属性添加到该编辑器中的正确元素中。
function editNumberWithoutSpinners(container, options) {
// add name attribute to connect the validation placeholder with the validated element
$('<input name="' + options.field + '" data-text-field="' + options.field + '" ' +
'data-value-field="' + options.field + '" ' +
'data-bind="value:' + options.field + '" ' +
'data-format="' + options.format + '" required="required"/>') // add the validation attributes
.appendTo(container)
.kendoNumericTextBox({
spinners: false,
min: 0
});
// custom validation message placeholder is required due to the way NumericTextBox is rendered
$('<span class="k-invalid-msg" data-for="' + options.field + '"></span>').appendTo(container);
}
相关文章:
- ui网格:在自定义表头模板中触发排序
- Kendo UI网格自定义编辑按钮
- Kendo UI网格自定义验证消息
- 具有层次结构的网格自定义命令正在调用 javascript 函数两次
- 在剑道网格自定义弹出模板中设置默认值的任意方法
- 剑道网格自定义编辑器下拉列表;t反映选择
- extJs 4网格自定义-末尾的总行
- 具有多选列的剑道网格自定义过滤功能
- 剑道网格自定义排序
- 剑道网格自定义列
- 如何在剑道网格自定义命令文本中添加特殊字符(i.查看/编辑)
- Telerik MVC网格-自定义过滤(客户端)
- 剑道网格自定义按钮调用Javascript函数
- 光滑网格自定义单元格标题
- KendoUI网格自定义过滤器UI
- 剑道 UI 网格自定义数据源 URL
- 剑道 UI 网格自定义命令重定向
- 剑道网格自定义过滤器菜单不工作
- 在复选框上使用数据绑定的剑道UI网格自定义过滤器
- 可能绑定剑道ui网格自定义下拉到一个id而不是一个对象