サンプルコードではエラー処理の仕方がわからなかった。
signUpに失敗する理由はいくつかあるが、理由に応じてエラーメッセージを表示する場合はどうすればよいか?
結論からいうと、userPool.signUpを呼ぶ際に指定するコールバック関数のerrオブジェクトのcode属性を見ればよい:
login.js
userPool.signUp($("#email").val(), $("#password").val(), attributeList, null, function(err, result) {
if(err){
if(err.code == "UsernameExistsException"){ // err.codeの値を見て判断すればよい
alert("登録済みだよ");
}
if(err.code == "InvalidParameterException"){
alert("IDもしくはパスワードが間違っているよ");
}
return;
}
cognitoUser = result.user;
alert('user name is ' + cognitoUser.getUsername());
});