Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 1차원 DP
- 2차원 dp
- 99클럽
- @Builder
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- ApplicationEvent
- assertThat
- async/await
- AVG
- AWS
- Azure
- bind
- builder
- button
- c++
- c++ builder
- c03
- Callback
- case when
- CCW
- chat GPT
- CICD
Archives
- Today
- Total
기록
JSP/KendoUI/날짜 포멧 확인 본문
문제
2022.10.24 - [Web/frontend] - javascrpit/유효성 체크(정규식)처럼 날짜 형식을 체크했지만, 코드가 깔끔하지 않고 완벽하지 않아서(02/31 같은 값을 잡아내지 못한다.) 새로운 방법을 찾아야 했다. 마침 프로젝트에서 kendoUI를 사용하고 있어서 kendoUI에서 제공하는 함수가 있지는 않을까 찾아보았다.
해결방법
1. 날짜 형식 체크
https://docs.telerik.com/kendo-ui/knowledge-base/datepicker-validate-whether-value-is-in-correct-format
<h2>Use client-side validation:</h2>
<input id="date">
<button id = "submitBtn">submit</button>
<script>
$(function () {
$("#date").kendoDatePicker();
$("#submitBtn").kendoButton({
click : function(e){
var dateValue = $("#date").val();
if (dateValue != ""){
if (!kendo.parseDate(dateValue, "MM/dd/yyyy")){ // null
console.log("Not a valid date in MM/dd/yyyy format!");
}else {
console.log("A valid date in MM/dd/yyyy format!");
}
}
console.log("empty!!");
}
});
})
</script>
2. 날짜 비교
https://stackoverflow.com/questions/59411669/trigger-validation-if-start-date-end-date-kendo-datepicker
var inputdate1= $('#inputdateid1').data("kendoDatePicker").value();
var inputdate2= $('#inputdateid2').data("kendoDatePicker").value();
if (new Date(inputdate1) > new Date(inputdate2)){
alert(" Your alert message !");
}
더 공부할 내용
MVVM pattern
https://docs.telerik.com/kendo-ui/framework/mvvm/overview
공식문서를 보면 viewModel, bind를 사용하고 있다. 안드로이드도 viewModel과 livedata 를 사용하여 값이 변할 때 액션을 지정할 수 있는데, 그 형태가 비슷해서 놀랐다. MVVM의 제대로 된 활용을 조금 더 고민해봐야겠다.
<div data-bind="text: person.lowerCaseName"></div>
<script>
var viewModel = kendo.observable({
person: {
name: "John Doe",
lowerCaseName: function() {
return this.get("name").toLowerCase();
}
}
});
kendo.bind($("div"), viewModel);
</script>
바인딩
https://docs.telerik.com/kendo-ui/framework/mvvm/bindings/attr
속성, 값, 스타일, 커스텀 등 다양한 data-binding을 제공한다. 이러한 데이터 바인딩이 KendoUI만의 특징인건지, 다른 라이브러리/툴에서도 흔하게 사용되는 개념인건지 궁금해졌다.
'Web > Front' 카테고리의 다른 글
css/블록 레벨 요소와 인라인 레벨 요소 (0) | 2023.04.17 |
---|---|
JavaScript/ES6의 주요 기능 (0) | 2023.03.27 |
JSP/OOM 해결방법 : 페이징 (0) | 2022.11.09 |
JSP/KendoUI/초기 설정 (0) | 2022.10.31 |
JavaScript/유효성 체크(정규식) (0) | 2022.10.24 |
Comments