작성
·
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;
감사합니다 ^^