TextFormField란?

텍스트를 입력하고 변수로 저장하여 사용할 수 있는 위젯. 유효성 검사 옵션을 기본적으로 제공하여 편리하다.

 

 

텍스트폼필드에는 AutovalidateMode 라는 옵션이 있는데, 옵션값은 각각 다음과 같은 설정을 한다.

 

disabled(기본값)

- formKey.currentState!.validate() 가 호출될 때만 유효성 검사함

always

- 항상 validator가 작동함.

onUserInteraction

- 사용자가 해당 필드에 한 번이라도 상호작용을 하면 validator가 작동함.

 

 

로그인을 예로 들면,

 

 - '로그인' 누를 때만 검사하고 싶을 때

   : disabled

 

 - '앱 시작부터, 항상' 검사하고 싶을 때

   : always

 

 - '사용자가 인터랙션 한 창만' 검사하고 싶을 때

   : onUserInteraction

 

 

예시

TextFormField(
  autovalidateMode: AutovalidateMode.onUserInteraction, // 사용자 인터랙션이 있는 경우에만 검사
  validator: (value) {
    if (value == null || value.isEmpty) {
      return '값을 입력해주세요';
    }
    return null;
  },
)

+ Recent posts