Page 30 -
P. 30

노트  프로파일 저장하기
                         만약 개발자가 onCreateUser 함수를 구현하지 않는다면 몽고DB의 user 컬렉션에 profile 값은 자동으로 저장된다. 하
                         지만 직접 구현할 때는 반드시 options에 있는 profile 값을 반환하는 user 안에 넣어 줘야 한다. 좀 더 자세히 알고 싶다
                         면 콘솔에서 options와 user를 출력해보자.



                       37.2.2    가입 정보 정합성 확인하기

                       가입 시 정합성 확인은 Accounts.validateNewUser 함수를 사용한다. 가령 아이디에 해당하는

                       username이 3글자 이상인지 검사하는 로직을 넣는다고 가정할 경우 코드는 다음과 같다.

                        ~/Projects/customLogin/server/main.js
                         ...생략...
                         Accounts.onCreateUser(function(options, user) {
                          ...생략...
                         });

                         Accounts.validateNewUser(function (user) {
                             if (user.username && user.username.length >= 3){
                               return true;
                             } else {
                               throw new Meteor.Error(403, "사용자명은 적어도 3자 이상입니다.");                      37
                             }
                         });                                                                             로그인 구현하기


                       Accounts.validateNewUser의 콜백 함수에 user라는 매개변수는 Accounts.onCreateUser 함수에
                       서 반환한 값이다. 따라서 값들이 원하는 조건에 만족하지 않는다면 Meteor.Error를 throw하면
                       된다. 이 에러는 최초 호출된 Accounts.createUser의 콜백 함수까지 전달된다.

                       지금까지 작성한 코드를 정리해보면 다음과 같다.



















                                                                                                    553
   25   26   27   28   29   30   31   32   33