有时候有些验证值的可能需要实现,动态添加validType,本以为直接$('#price').numberbox('options').validType = 'length[4]';就可以了,百般尝试后都不行,决定调试源码,调试时发现根本不是从numberbox对象中获取的options,而是从另一个input对象获取的验证,便修正了代码,并成功实现动态添加validType,以numberbox为例,代码如下
普通form表单中动态添加验证方式为:
$('#orderPurPrice').numberbox('textbox').validatebox('options').validType="lessThanOrEqualsNumber["+price+"]";
datagrid内动态添加验证方式为:
var selections = getSelections(grid,false);//自己封装的方法,同grid.datagrid('getSelections');
if (selections != undefined) {
for (var i = 0, len = selections.length; i < len; i++) {
var selection = selections[i];
var index = grid.datagrid("getRowIndex", selection);
grid.datagrid("beginEdit", index);
var ed = grid.datagrid('getEditor', {index:index,field:'purPrice'});
$(ed.target).numberbox('textbox').validatebox('options').validType="lessThanOrEqualsNumber["+selection.basePrice+"]";//重要的在这里,为输入框添加验证,lessThanOrEqualsNumber为自定义验证
}
}