我猜想随着剑道论坛工作方式的即将发生变化(只有付费客户),那里很难有机会回答问题,所以我会在这里尝试......
我已经设置了一个可编辑的网格,它使用两个数字字段的自定义验证器。验证器使用ajax查询获取有效参数(但我认为这不重要)。
这一切都正常,但我需要NumericTextBoxes支持4个小数位,默认情况下它们不会。
我为这些字段创建了自定义网格编辑器,这允许我输入4个小数位,但它会破坏自定义验证。
如何让NumericTextBox在编辑模式下支持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位小数,它就会停止工作。
答案 0 :(得分:6)
KendoUI NumericTextBoxes支持4位小数和验证:
拥有以下HTML:
<input id="num" value="123.456789"
data-format="n4"
data-decimals="4"
data-step="0.0001"
data-role="numerictextbox"/>
以及以下初始化:
$("#num").kendoValidator({
rules :{
custom:function (input) {
var val = Math.floor(input.val() * 10000);
return val % 2;
}
},
messages:{
custom:"Your number * 10000 needs to be odd"
}
});
kendo.init($("#num"));
这定义了NumericTextBox
四位数 - 可视化和编辑模式 - 以及自定义Validator
,用于检查十进制数的最后一位是奇数。
顺便说一句,欢迎来到Stack Overflow上的KendoUI !!