Javascript 剑道网格内的组合框中需要验证

Javascript 剑道网格内的组合框中需要验证,javascript,kendo-grid,Javascript,Kendo Grid,我有一个剑道网格,它有内联编辑的组合框。当我为组合框添加所需的验证时,它不起作用。我已经在JS filder中创建了以下URL中的示例 var products = [ { "ProductID": 1, "ProductName": "Chai", "Category": { "CategoryID": 1, "CategoryName": "Beverages" }, "UnitPrice": "18.00" }, {

我有一个剑道网格,它有内联编辑的组合框。当我为组合框添加所需的验证时,它不起作用。我已经在JS filder中创建了以下URL中的示例

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"
}
}
});
$('')。附加到(容器);
}
希望这对您有所帮助:)