我猜测随着Kendo论坛工作方式即将发生的变化(只有付费客户),在那里得到问题的答案几乎没有机会,所以我会试试这里。 ..带4个小数位的NumericTextBox
我已经设置了一个可编辑的网格,它使用两个数字字段的自定义验证器。验证器使用ajax查询获取有效参数(但我认为这不重要)。
这是所有的工作,但我需要NumericTextBoxes支持4个小数位,他们不默认。
我已经为这些字段创建了自定义的网格编辑器,这使我可以输入4位小数,但它打破了自定义验证。
如何获取NumericTextBoxes在编辑模式下支持4位小数位并允许自定义验证规则?
在此先感谢
这里的字段定义,以验证我使用:
end: { type: 'number', validation: {
end: function(input){
if (input.attr('name')=='end' && $('input[name=lookup]').val()!=''){
$.ajax({
type: 'post',
url: '/ajax/lookupParams',
data: { lookup:$('input[name=lookup]').val(), csrf_token: token },
success: function(data) {
start = data.start;
end = data.end
},
dataType: 'json',
async: false
});
input.attr('data-end-msg', 'End must be between '+start+' and '+end);
return (input.val() >= start && input.val() <= end);
}
return true;
}
}
该位工作 - AJAX是用来检索有效的开始和结束值的基础上,查找字段的当前值。如果我使用自定义编辑器来支持4个小数位,它就会停止工作。
一些代码可以帮助人们理解“自定义验证”的含义。 –
这就是为什么'$ .ajax'调用具有'async:false'的原因 - 函数在继续之前等待'start'和'end'返回。就像我说的那样 - 验证工作是完美的,只是在与网格中的自定义编辑器结合使用时才会生效。 – Mat