-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
해결됨
회원가입 버튼을 누른 후 validation 문제
24.03.08 11:51 작성 조회수 132
1
영상 마지막에 고쳐주신
setState(() {
_isEnabled = false;
_autovalidateMode = AutovalidateMode.always;
});
위치를 바꾸어주어서 그 전에 null 로 return 하는 조건문 때문에 autovalidateMode.always 가 적용되지 않는 것 같습니다.
조언 부탁드립니다.
답변을 작성해보세요.
0
DEV MOO
지식공유자2024.03.08
말씀하신 내용이 맞습니다.
제가 실수했네요.
ElevatedButton(
onPressed: _isEnabled
? () async {
final form = _globalKey.currentState;
if (form == null || !form.validate()) {
return;
}
setState(() {
_isEnabled = false;
_autovalidateMode = AutovalidateMode.always;
});
영상 마지막 부분에 setState 함수를 if 문 아래로 이동했기 때문에
if 문에서 유효성 체크를 통과하지 않으면 return 에서 로직이 끝나게 됩니다. 그래서_autovalidateMode = AutovalidateMode.always;
코드가 실행되지 않습니다.
수정된 코드 입니다.
ElevatedButton(
onPressed: _isEnabled
? () async {
final form = _globalKey.currentState;
setState(() {
_autovalidateMode = AutovalidateMode.always;
});
if (form == null || !form.validate()) {
return;
}
setState(() {
_isEnabled = false;
});
회원가입 버튼을 클릭하면_autovalidateMode = AutovalidateMode.always;
코드를 실행 후, 유효성 체크를 하도록 수정했습니다.
답변 1