Validation(유효성 검사)는 사용자가 입력한 데이터가 정확한지 확인하고 잘못된 값이 저장되는 것을 방지합니다. 예를 들어, 설명 없이 이벤트가 생성되는 것을 막을 수 있습니다.
일반적으로 데이터 유효성 검사는 사용자 입력을 포착하고 유효성을 확인할 수 있는 dhtmlxScheduler API의 이벤트를 사용하여 수행합니다:
데이터 유효성 검사를 위해 자주 사용되는 주요 이벤트는 다음과 같습니다:
가장 간단한 유효성 검사 방법은 onEventSave 이벤트를 사용하는 것입니다. 이 이벤트는 폼에서 'Save' 버튼이 클릭될 때 발생합니다. true를 반환하면 변경 사항이 저장되고, false를 반환하면 저장이 취소되며 lightbox가 계속 열려 있습니다.
예를 들어, 설명이 없거나 너무 짧은 텍스트가 입력된 이벤트의 저장을 막으려면 다음과 같은 코드를 사용할 수 있습니다:
scheduler.attachEvent("onEventSave", function(id,ev){
if (!ev.text) {
dhtmlx.alert("Text must not be empty");
return false;
}
if (ev.text.length < 20) {
dhtmlx.alert("Text too small");
return false;
}
return true;
});
Related sample: Validating lightbox fields
위 방법의 한계는 Scheduler 내에서 인라인 편집이나 드래그를 통해 변경이 이루어질 경우 이벤트가 발생하지 않는다는 점입니다.
모든 변경 사항(편집, 생성, 삭제 포함)을 처리하려면 dataProcessor 객체, 특히 onBeforeUpdate 이벤트를 사용하세요. 이 이벤트는 데이터가 서버로 전송되기 전에 발생하며, lightbox뿐만 아니라 Scheduler에서 이루어지는 모든 수정을 포괄합니다.
scheduler.init("scheduler_here");
scheduler.load("data.php");
var dp = new gantt.dataProcessor("data.php");
dp.init(scheduler);
dp.attachEvent("onBeforeUpdate", function (id, status, data) {
if (!data.text) {
dhtmlx.message("The event's text can't be empty!");
return false;
}
return true;
});
여기서:
유효성 검사에 실패하면 변경 사항은 서버로 전송되지 않고 클라이언트 측에 남아 있으므로 필요에 따라 추가 처리가 가능합니다.
맨 위로