2016-03-23 14 views
0

Aşağıdaki kod yapısını eklerken veya güncellerken yinelenen değerin doğrulanmasını nasıl gerçekleştirirsiniz?DataSource Ekle veya Güncelle sırasında yinelenen değeri engelle

Olayları oluşturmadan veya güncellemeden önce kılavuzda var olan yinelenen kaydı doğrulamak için doğrulamayı nereye ve nasıl ekleyebilirim?

Önceden kılavuz için teşekkürler.

var ds = new kendo.data.DataSource({   
     transport : { 
      read : { 
       url : 'readAttribute/', 
       dataType : 'json', 
       type : 'POST', 
       complete : function(e) { } 
      }, 
      create : { 
       url : 'save/', 
       dataType : 'json', 
       type : 'post', 
       contentType : 'application/json', 
       complete : function(e) { 
        $('#dataGrid').data('kendoGrid').dataSource.read(); 
       } 
      }, 
      update : { 
       url : 'update/', 
       dataType : 'json', 
       type : 'post', 
       contentType : 'application/json', 
       complete : function(e) { 
        $('#dataGrid').data('kendoGrid').dataSource.read(); 
       } 
      }, 
      destroy : { 
       url : 'delete/', 
       dataType : 'json', 
       type : 'post', 
       contentType : 'application/json', 
       complete : function(e) { 
        $('#dataGrid').data('kendoGrid').dataSource.read(); 
       } 
      }, 
      parameterMap : function(options, operation) { 
       if ((operation == 'create' || operation == 'update') && options.models) { 
        var valueData = options.models; 
        for (var i = 0; i < valueData.length; i++) { 
         valueData[i]['valTypeId'] = $("#valTypeDropDown").data("kendoDropDownList").value(); 
        } 

        var valFullData = {}; 
        valFullData['val_data'] = valueData; 
        valFullData['val_type_id'] = $("#valTypeDropDown").data("kendoDropDownList").value(); 

        return kendo.stringify(valFullData); 
       } 

       if (operation == 'destroy') { 
        return kendo.stringify(options.models); 
       } 

       if (operation == 'read') { 
        return { 
         valTypeId : $("#valTypeDropDown").data("kendoDropDownList").value() 
        }; 
       } 
      } 
     }, 
     batch : true, 
     pageSize : com.babysister.client.Configuration.Constants.ListConfig.pageSize, 
     sortable : true, 
     scrollable : true, 
     schema : { 
      model : { 
       id : "id", 
       fields : { 
        id : { 
         type : "number" 
        }, 
        name : { 
         type : "string", 
         validation: { 
          required: { message: "Name is required!" } 
         } 
        }, 
        valTypeId : { 
         type : "number" 
        } 
       } 
      } 
     } 
    }); 

cevap

0

Sen DataSource gösterdiğiniz aksine, Kendo ızgara kendisinde edit olayı kullanmak istersiniz. here örnek kodu vardır (edit etkinliğine abone olmak için).

+0

Merhaba, etkinliği düzenleme, veri yüklemeden önce bunu yapıyor mu? Sunucu tarafına geri gönderilmeden önce oluşturma veya güncelleme olayını tıkladıktan sonra bunu doğrulayabilir miyiz? – Chang

+0

Belgelerden: 'Kullanıcı düzenlediğinde veya bir veri öğesi oluşturduğunda tetiklenir. 'Böylece, çift verilerin olup olmadığını görmek için kılavuza girilen verileri kontrol etmek için bunu kullanabilirsiniz, bunun geri kaydedilmesiyle bir ilgisi yoktur. sunucuya. – CodingGorilla

+0

ya .. kullanıcı değer ekledikten/değiştirdikten sonra doğrulayabileceğimiz herhangi bir fikir? Paylaştığınız bağlantıdan, kullanıcı yeni değeri ekleyene kadar aynı sütunda yinelenen değeri doğrulamak için uygun değildir .... :( – Chang