Ich habe ein Kendo UI Grid, in dem ich 2 Spalten StartDate und EndDate habe. Während der Inline-Bearbeitung möchte ich vergleichen, dass StartDate nicht größer als EndDate sein sollte. Ich mache das unten in der benutzerdefinierten Validierung des StartDate-Felds. Aber der var StartDate wird Nullwert zugewiesen.Wie Daten in 2 Spalten einer Zeile in Kendo UI Grid zu vergleichen?
model: {
id: "BusinessAreaDivisionMappingId",
fields: {
BusinessAreaDivisionMappingId: { type: "number", editable: false, nullable: false },
StartDate: {
from: "BusinessAreaDivisionMappingEntity.StartDate", type: "date",
validation:
{
required: true,
dateComparisonValidation: function (input) {
debugger;
if (input && (input.attr("name") == "StartDate"|| input.attr("name") == "EndDate")) {
input.attr("data-dateComparisonValidation-msg", "Start Date cannot be more than End Date");
var startDate = input.closest(".k-edit-form-container").find("[name='StartDate']").data("kendoDatePicker");
var endDate = input.closest(".k-edit-form-container").find("[name='EndDate']").data("kendoDatePicker");
if (Date(startDate) > Date(endDate)) {
return false;
}
}
return true;
}
}
},
EndDate: { from: "BusinessAreaDivisionMappingEntity.EndDate", type: "date" }
}
}
Dies funktioniert nicht, angenommen Schritt 1: Ich wähle Startdatum 6. Sept. Schritt 2: Ich kann Enddatum 5thSept auswählen. – Anand
Was funktioniert nicht? Sie haben Fehler? Das ist perfekt funktionierende Lösung Ich benutze es in der Produktion –
In Ihrem Fall benannten Sie Modellfelder beginnend mit Großbuchstaben. 'StartDatum' vs 'Startdatum'. Versuchen Sie, es zuerst zu debuggen, ersetzen Sie Namen mit denen, die Sie in Modell –