작성
·
225
0
length에서 max값을 전달 안해주고 min만 설정하고 싶을때
if(args.constraints.length===2){
} else}{
}
여기서 else 가 실행되어야 하는데 max 값 없이 validationOptions만을 전달하면 validationOptions가 두번째 인자로 전달되는 것 아닌가요..? 이렇게 하면 에러 나는데.. max 값에 undefined나 null을 넣어도 안되는 것 같습니다. 어떻게 max 값 없이 validationOptions를 실행할 수 있나요..?
답변 2
0
시간이 좀 지나서 이미 찾아서 사용중이실수도 있고 보실진 모르겠습니다만
경우에 따라서
@MinLength() 와 @MaxLength() 를 사용하실 수 있고,
@Length(0, max값, {})
@Length(min값, Number.MAX_VALUE, {})
등으로도 사용하실 수 있을 것 같습니다.
0
안녕하세요!
혹시 Min annotation을 찾고 계시는게 맞을까요?
@Min(최소값) <- 이렇게 사용 할 수 있습니다.
예제 링크 보내드립니다.
https://github.com/typestack/class-validator?tab=readme-ov-file#validating-promises
감사합니다!
저도 강의 보면서 테스트 해 보니깐
질문자님 말씀대로 구현 하려면 (max를 지정하지 않은채로 @Length() 설정 )
@Length(2, undefined, {}) 으로 추가하는 경우
(args: ValidationArguments) 로 받아오는 인자의 args.constraints 가 [2, undefined] 이더라구요
max가 필요치 않은 조건이라면 @MinLength() 를 사용하는게 의도된 방식일 것 같지만, @Length() 하나만 사용해서 일반화 해서 사용하고 싶다면
이런식으로도 해결 할 수도 있을 것 같습니다!!
이 때 constraints가 0개나 1개인 케이스가 가능할지는 모르겠지만요