"Accounts.onCreateUser"함수에서 서버 측 유효성 검사를 수행하므로 옵션 객체도 전달할 수 있습니다. 필자는 사용자 기능의 유효성 확인을 통해이를 수행하는 방법을 파악할 수 없었습니다.Meteor - 암호에 서버 측 유효성 검사 사용 방법
잘못된 방향으로 가고 있다면 우선 완전히 열립니다. 조언을 바랍니다. 서버 측 암호 길이를 확인하는 방법을 알 수 없습니다. 그것은 창조 이전에 이미 변환 되었기 때문입니까? 테스트 할 때 암호로 단일 문자를 입력해도 오류가 발생하지 않습니다.
Accounts.onCreateUser(function (options, user) {
if (options.profile) {
user.profile = options.profile;
user.profile.user_status = "new user";
}
// Error checking
var errors = "";
if (user.username.length === 0) {
errors = errors + '<li>Email is required</li>';
}
if (user.username.length !== 0 && user.username.length < 4) {
errors = errors + '<li>Email too short</li>';
}
if (user.profile.firstname.length === 0) {
errors = errors + '<li>First name is required</li>';
}
if (user.profile.firstname.length !== 0 && user.profile.firstname.length < 2) {
errors = errors + '<li>First name is too short</li>';
}
if (user.profile.lastname.length === 0) {
errors = errors + '<li>Last name is required</li>';
}
if (user.profile.lastname.length !== 0 && user.profile.lastname.length < 2) {
errors = errors + '<li>Last name is too short</li>';
}
if (user.services.password.length === 0) {
errors = errors + '<li>Please enter a password</li>';
}
if (user.services.password.length < 7) {
errors = errors + '<li>Password requires 7 or more characters</li>';
}
if (errors) {
throw new Meteor.Error(403, errors);
} else {
return user;
}
});
저는 Accounts-ui를 사용하지 않습니다. 내 자신을 롤업하려고 ... Meteor로 완전히 새로운 계정 만들기 및 검증을 이해하려고 노력하고 있습니다. ValidateNewUser 함수로이 작업을 수행하는 방법이 있다면 대신 그 작업을 사용해야합니까?
도움 주셔서 감사합니다. 서버 측에서보고있는 암호 문자열은 사용자가에 입력 한 내용과 동일하지 않도록
사전 제작 된 물건을 사용하고 있지 않습니까? 계정 비밀번호 패키지가 아닌가요? –
저는 accounts-base와 accounts-password를 사용하고 있습니다. 안녕 Peppe! 너 많이 자지 않아? 오해의 소지가 있기 때문에 사전 제작 된 내용은 말하지 말았어야합니다. 내 질문을 수정했습니다. :) – user1447679