인프런 커뮤니티 질문&답변

kcontrol님의 프로필 이미지
kcontrol

작성한 질문수

Flutter 초입문 왕초보편

052. Form 과 유효성 검사

52강 키/몸무게 값에 대한 조건을 더 추가해주고 싶으면 어떻게 해야 할까요?

작성

·

175

0

 만약에 키나 몸무게 필드에 숫자가 아닌 값을 입력할 경우 '숫자를 입력하세요'라고 출력하고 싶은데 어떻게 하면 좋을까요?

 

그리고 입력된 숫자가 특정 범위를 넘길 경우 제한 하는 방법도 궁금합니다.

 

뭔가 아래와 같은 느낌으로 하고싶은데 방법이 궁금합니다.

TextFormField(
  decoration: const InputDecoration(
    border: OutlineInputBorder(),
    hintText: '키',
  ),
  keyboardType: TextInputType.number,
  validator: (value){
    if(value == null || value.isEmpty){
      return '키를 입력하세요';
    }else if(value의 타입 != TextInputType.number){
      return '숫자를 입력하세요.';
      
    }else if(value > 1000){
      return '정상적인 값이 아닙니다.';
    }
    return null;
  },
),

 

답변 1

1

오준석님의 프로필 이미지
오준석
지식공유자

int.tryParse 에 숫자가 아닌 값을 넣으면 null 이 나옵니다. 대충 이런 느낌으로 고쳐봤습니다.

if(value == null || value.isEmpty){
  return '키를 입력하세요';
}else if(int.tryParse(value) == null){
  return '숫자를 입력하세요.';

}else if(int.parse(value) < 1000){
  return '정상적인 값이 아닙니다.';
}
return null;
kcontrol님의 프로필 이미지
kcontrol
질문자

감사합니다 ^^

kcontrol님의 프로필 이미지
kcontrol

작성한 질문수

질문하기