Valang - syntex
기본 적인 syntex 예제 입니다.
{ location : ? is not blank : 'Location must be specified' : 'addressLocationEmpty' : ? }
1. validation syntex는 {와 } 사이에 들어가야 합니다.
2. 인자는 총 다섯 개가 올 수 있으며 : 로 구분합니다. 마지막 인자는 생략 가능합니다.
- 첫 번째 인자 : 검사할 객체의 프로퍼티
- 두 번째 인자 : 검사하는 로직
- 세 번째 인자 : default message
- 네 번째 인자 : 프로퍼티 파일의 에러코드
- 다섯 번째 인자 : 아규먼트
3. 프로퍼티를 가져오는 방법
- name
- address.location
- customers[0].name
- salesParameters[seasonStartDate]
위와 같이 다양한 벙법으로 가져 올 수 있으며 기본적으로 String 타입으로 가져옵니다. 이 때 []를 사용하면 그 안의 값은 Date 타입으로 인식합니다. 현재 시각을 나타내는 T 를 사용할 수 있습니다.
예) 입력한 시각이 현재 시각보다 앞서지 않도록 검증
{ order.timestamp : ? < [T] : '' : 'order.timestamp.in_past' }
예) 입력한 시각이 오늘이라는 시간대에 포함되는지 검증
{ order.timestamp : ? between [T<d] and [T>d] : '' : 'order.timestamp.not_today' : ? }
4. 로직을 작성할 때 사용할 수 있는 오퍼레이터들
- String 관련 오퍼레이터
- Date 관련 오퍼레이터
- Date Incremental operator
- Date Regural Expression