Builder/Adalo

[Adalo] 처음 접하면서 느낀 단점1 (예시는 회원가입)

꼰대 2021. 6. 9. 14:04

요즘 Adalo를 이용해서 뭔가 잘 짜여진 앱을 하나 만들고 있습니다. (희망사항입니다.)

너무 길어 여기서 설명하기에는 무리가 있고 나중에 완성되면 전체적인 개요와 중요한 로직에 대한 설명만 올릴 생각입니다.

그런데 Adalo를 쓰다보니 뭔가 어설픈? 단점이 있습니다. 외국회사에서 만든 제품이다보니 우리나라 환경과 다른점도 있습니다.

아직 많이 써본건 아니지만 회원가입 구현하면서 제가 느낀 눈에 보이는 단점은 다음과 같습니다.

 

회원가입 처리입니다.

이거가지고 한 이틀 끙끙거리다가 포기했습니다. 제가 원하는 회원가입의 Form 필드는

- 이메일 주소 (로그인 시 아이디값)

- 비밀번호

- 비밀번호 확인

이렇게 3개의 간단한 값입니다. 그런데 이 값을 Validation 해야합니다.

- 이메일 필드가 공백인지

- 이메일 주소는 형식에 맞게 입력했는지

- 비밀번호 필드가 공백인지

- 비밀번호 확인 필드가 공백인지

- 비밀번호 필드와 비밀번호 확인 필드의 값이 서로 일치하는지

- 등록된 이메일 주소인지

처리 순서대로 체크할 내용은 총 6가지로 실패면 뭔가 안내하는 메시지를 띄워야 합니다.

즉, 6가지 조건을 모두 통과해야 회원 테이블에 insert가 되고 로그인 처리 후 메인 페이지로 이동해야 합니다.

이 부분 중요합니다. 저는 Validation 처리 후 데이터를 저장하고 싶습니다.

그런데 Adalo는 로직 상 이렇게 구현할 수 없습니다.

 

먼저 Adalo에서 제공하는 기본 Signup 화면입니다. 처음 프로젝트를 생성하면 Signup, Login 화면이 기본으로 생성되며 기본 로직이 포함되어 있습니다. 그리고 Form 부분을 클릭하면 좌측에 필드값 정의 및 로직을 확인할 수 있습니다.

아래 내용에 대한 설명은 다음과 같습니다. Form은 Users (기본 생성 테이블)라는 테이블과 연결되고 Form 테이터로 회원가입, 즉 데이터를 입력하겠다라는 내용입니다.

 

그러면 자동으로 생성된 Users 테이블을 보겠습니다. 총 4개의 컬럼이 있고 모든 컬럼은 삭제 및 타입의 변경이 불가능합니다. (우측 자물쇠 아이콘) 우측 화면과 매핑해보면 Username만 빠진 상태입니다.

 

그러면 제가 원하는 비밀번호 확인 필드를 추가해보겠습니다. 다시 화면의 From을 클릭하고 Fields를 선택하면 현재 화면에 표시된 Form 필드가 출력됩니다. 필드 추가를 위해 ADD VISIBLE FIELD를 클릭해보면 Users 테이블에 정의된 Username만 표시됩니다. 즉, Form 필드는 Users 테이블의 컬럼과 매핑됨을 알 수 있습니다.

 

이렇게 되면 다음 생각할 수 있는게 비밀번호 확인 필드를 위해 Users 테이블에 해당 컬럼을 추가입니다. Users 테이블로 다시 가서 Confirm password 필드를 추가하겠습니다. ADD PROPERTY를 클릭하면 추가할 수 있는 컬럼의 타입값이 나옵니다.

그런데 Password 타입은 없습니다. Opps..... Text 타입으로 설정할 수 밖에 없습니다. 필드 이름은 Confirm Password로 정의하고 다시 화면으로 옵니다.

 

이제 좀 전과 마찬가지로 화면의 Form을 선택하고 좌측에서 Fileds > ADD VISIBLE FIELD를 선택합니다. 그려면 방금 추가한 Confirm Password를 선택할 수 있습니다. 참고로 처음에는 필드의 타이틀값이 테이블의 컬럼 이름으로 셋팅되지만 모든 필드의 타이틀은 수정할 수 있습니다.

Confirm Password를 선택하면 화면에 해당 필드가 추가된 모습을 확인할 수 있습니다.

그리고 확인해볼게 필드 속성을 보면 Required Error Text가 있고 활성화 되어 있습니다. 아마 공백 Validation 옵션인 듯 합니다. 그리고 해당 문구는 변경할 수 있습니다.

 

이제 테스트를 해보겠습니다. Password 밑에 Confirm Password를 이동시키고 우측 상단의 PREVIEW 버튼을 클릭합니다.

아무값이 입력하지 않고 SIGNUP 버튼을 눌러봅니다. 필드에 붉은색만 표시되고 아무 메시지가 없습니다. 혹시나 각 필드값에 있던 Required Error Text에 메시지를 입력하고 다시 해보면 경고 메시지가 필드 하단에 출력됩니다.

 

특히 이메일 필드는 이메일 형식도 체크하지만 필드만 붉은색으로 표시될 뿐 경고 메시지는 없습니다. 이메일 주소를 정상적으로 입력하면 필드의 붉은색은 없어집니다.

 

뭐 이건 이해할 수 있다고 쳐도 문제는 Confirm Password 필드가 Password 필드가 아니라서 입력값이 그대로 노출됩니다.

다음으로 SIGNUP 버튼을 클릭했을 때 액션을 살펴보겠습니다. 기본으로 설정된 내용을 보면 버튼을 클릭하면 Signup 처리 (Sign Up)하고 Main 화면으로 이동 (Link)이 정의되어 있습니다. Signup을 선택하면 Duplication Email Error 부분이 보입니다. 이 부분이 중복처리하는 로직으로 에러 메시지도 정의할 수 있습니다.

 

추가로 2편 글에서 다시 언급하겠지만 Sign Up 액션 전에 Validation하는 무언가를 넣고 싶어도 안됩니다. Link는 무조건 데이터베이스 입력 후에만 가능합니다. 실제로 Link부분을 Sign Up 위로 끌어 올리려해도 안됩니다.

자세한 내용은 2편 글에서 설명하겠습니다.

 

이제 정리해보면 Adalo에서 제공하는 Signup은

1. 기본 및 추가된 필드에 대해서 Validation은 가능

2. 이메일 필드에 대해서 형식 및 중복 처리 가능

3. 비밀번호 필드 추가가 불가능하여 비밀번호 확인 필드 추가 불가능

4. 비밀번호 필드와 비밀번호 확인 필드의 값이 동일한지에 대한 로직 추가 불가능 (2편에서 자세히 설명)

즉, 비밀번호 확인 필드 추가하지 않고 Adalo에서 제공하는 로직 그대로 사용한다면 별 문제 되지 않습니다.

 

그래서 Signup화면을 직접 구성해서 로직 처리하는 방법으로 바꿨습니다.

이 내용도 좀 길어서 2편으로 넘깁니다.

반응형