Javascript 剑道网格内的组合框中需要验证
我有一个剑道网格,它有内联编辑的组合框。当我为组合框添加所需的验证时,它不起作用。我已经在JS filder中创建了以下URL中的示例Javascript 剑道网格内的组合框中需要验证,javascript,kendo-grid,Javascript,Kendo Grid,我有一个剑道网格,它有内联编辑的组合框。当我为组合框添加所需的验证时,它不起作用。我已经在JS filder中创建了以下URL中的示例 var products = [ { "ProductID": 1, "ProductName": "Chai", "Category": { "CategoryID": 1, "CategoryName": "Beverages" }, "UnitPrice": "18.00" }, {
var products = [
{
"ProductID": 1,
"ProductName": "Chai",
"Category": {
"CategoryID": 1,
"CategoryName": "Beverages"
},
"UnitPrice": "18.00"
}, {
"ProductID": 2,
"ProductName": "Chang",
"Category": {
"CategoryID": 1,
"CategoryName": "Beverages"
},
"UnitPrice": "19.00"
}, {
"ProductID": 3,
"ProductName": "Aniseed Syrup",
"CategoryID": 2,
"Category": {
"CategoryID": 1,
"CategoryName": "Beverages"
},
"UnitPrice": "10.00"
}, {
"ProductID": 4,
"ProductName": "Chef Anton's Cajun Seasoning",
"Category": {
"CategoryID": 2,
"CategoryName": "Condiments"
},
"UnitPrice": "22.00"
}, {
"ProductID": 5,
"ProductName": "Chef Anton's Gumbo Mix",
"Category": {
"CategoryID": 2,
"CategoryName": "Condiments"
},
"UnitPrice": "21.35"
}, {
"ProductID": 6,
"ProductName": "Grandma's Boysenberry Spread",
"Category": {
"CategoryID": 2,
"CategoryName": "Condiments"
},
"UnitPrice": "25.00"
}];
var dataSource = new kendo.data.DataSource({
pageSize: 30,
data: products,
batch:true,
schema: {
model: {
id: "ProductID",
fields: {
ProductID: {
editable: false,
nullable: true
},
ProductName: {
validation: {
required: true
}
},
Category: {// defaultValue: { CategoryID: 1, CategoryName: "Beverages"}
},
UnitPrice: {
type: "number",
validation: {
required: true,
min: 1
}
}
}
}
}
});
$("#grid").kendoGrid({
dataSource: dataSource,
navigatable:true,
toolbar:["create", "save","cancel"] ,
columns: [
"ProductName",
{
field: "Category",
editor: comboEditor,
template: "#=Category.CategoryName#"
},
{
field: "UnitPrice",
format: "{0:c}"
}
],
editable: true
});
function comboEditor(container, options) {
debugger;
$('<input data-text-field="CategoryName" required="required" validationMessage="required" data-value-field="CategoryID" data-bind="value:' + options.field + '"/>').appendTo(container).kendoComboBox({
autoBind: false,
dataSource: {
type: "odata",
transport: {
read: "http://demos.kendoui.com/service/Northwind.svc/Categories"
}
}
})
}
var产品=[
{
“ProductID”:1,
“产品名称”:“Chai”,
“类别”:{
“类别”1,
“类别名称”:“饮料”
},
“单价”:“18.00”
}, {
“ProductID”:2,
“产品名称”:“Chang”,
“类别”:{
“类别”1,
“类别名称”:“饮料”
},
“单价”:“19.00”
}, {
“ProductID”:3,
“产品名称”:“茴香糖浆”,
“类别”2,
“类别”:{
“类别”1,
“类别名称”:“饮料”
},
“单价”:“10.00”
}, {
“ProductID”:4,
“产品名称”:“安东厨师卡琼调味品”,
“类别”:{
“类别”2,
“类别名称”:“调味品”
},
“单价”:“22.00”
}, {
“ProductID”:5,
“产品名称”:“厨师安东的秋葵混合物”,
“类别”:{
“类别”2,
“类别名称”:“调味品”
},
“单价”:“21.35”
}, {
“ProductID”:6,
“产品名称”:“奶奶的Boysenberry Spread”,
“类别”:{
“类别”2,
“类别名称”:“调味品”
},
“单价”:“25.00”
}];
var dataSource=new kendo.data.dataSource({
页面大小:30,
数据:产品,
批次:对,
模式:{
型号:{
id:“产品id”,
字段:{
ProductID:{
可编辑:false,
可为空:真
},
产品名称:{
验证:{
必填项:true
}
},
类别:{//defaultValue:{CategoryID:1,CategoryName:“饮料”}
},
单价:{
键入:“数字”,
验证:{
要求:正确,
min:1
}
}
}
}
}
});
$(“#网格”).kendoGrid({
数据源:数据源,
可导航:是的,
工具栏:[“创建”、“保存”、“取消”],
栏目:[
“产品名称”,
{
字段:“类别”,
编辑:组合编辑,,
模板:“#=类别.类别名称”
},
{
字段:“单价”,
格式:“{0:c}”
}
],
可编辑:真
});
函数组合编辑器(容器、选项){
调试器;
$('').appendTo(container).kendoComboBox({
自动绑定:错误,
数据源:{
类型:“odata”,
运输:{
阅读:“http://demos.kendoui.com/service/Northwind.svc/Categories"
}
}
})
}
验证是否需要添加任何内容才能正常工作
Thanz使用这个
function comboEditor(container, options) {
$('<input required="required" name="' + options.field + '"/>').appendTo(container).kendoComboBox({
autoBind: false,
dataSource: {
type: "odata",
transport: {
read: "http://demos.kendoui.com/service/Northwind.svc/Categories"
}
}
});
$('<span class="k-invalid-msg" data-for="' + options.field + '"></span>').appendTo(container);
}
函数组合编辑器(容器、选项){
$('').appendTo(container).kendoComboBox({
自动绑定:错误,
数据源:{
类型:“odata”,
运输:{
阅读:“http://demos.kendoui.com/service/Northwind.svc/Categories"
}
}
});
$('')。附加到(容器);
}
希望这对您有所帮助:)