해결된 질문
작성
·
218
답변 1
0
말씀하신 내용이 맞습니다.
제가 실수했네요.
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;
코드를 실행 후, 유효성 체크를 하도록 수정했습니다.
빠른 답변 감사드립니다!!