我有一个使用自定义弹出式编辑器的Kendo网格。其中一个字段是一个使用远程数据源的Kendo下拉列表。
当用户进行选择时,与所选项目相关联的数据会被用来更新弹出式编辑器中的其他几个字段,并使用 model.set
.
这样做很好:模型和字段都更新了。
然而,如果我再添加 required validationMessage="This field is required"
的字段进行更新。model.set
验证错误被触发,字段没有更新。
我已经设置了一个 JSFiddle 来演示这个问题。在这种情况下,可以通过点击自定义弹出式编辑器中的ProductName进行设置。Set Product
按钮。你会注意到验证错误被触发,但如果你删除了 required
属性的字段,它被正确更新。
这是一个bug吗?为什么在设置值的时候会触发验证错误?
编辑:只是想澄清一下 -- 这是在添加新记录时,而不是编辑现有记录。
当你给 ProductName
其实你的注意力已经从 input
触发验证,并使其抱怨将其置空。
解决办法是先将值分配给下面的函数。input
进而 set
.
var win = $(this).closest("[data-role=window]");
var uid = win.data("uid");
var input = $("[name='ProductName']", win);
// Assign value (anything works)
input.val("Test Product");
var model = $("#grid").data("kendoGrid").dataSource.getByUid(uid);
model.set('ProductName','Test Product');
您的提琴在这里修改。http:/jsfiddle.netOnaBaiZPuS88