*** Я разработал то, что вызывало ошибки, это было связано я зову error.message.text внутри SignUpAsync,Ошибка проверки, если имя пользователя существует, прежде чем зарегистрировать
Я надеюсь, что я получить некоторую помощь здесь, Был на этом в течение 2 дней только для простого входа в систему.
У меня есть регистрация, но если я снова использую то же имя пользователя, это не сработает, однако оно не вернет никаких ошибок или чего-нибудь для меня, пользователь ...
Я использую это из документов
//try and register user and catch any errors.
try
{
Task signUpTask = user.SignUpAsync().ContinueWith(t => {
if (t.IsFaulted)
{
// Errors from Parse Cloud and network interactions
using (IEnumerator<System.Exception> enumerator = t.Exception.InnerExceptions.GetEnumerator())
{
if (enumerator.MoveNext())
{
ParseException error = (ParseException)enumerator.Current;
ErrorMessage.text = error.Message;
Invoke("ClearForm", 4);
// error.Message will contain an error message
// error.Code will return "OtherCause"
}
}
}
else
{
ErrorMessage.color = Color.green;
ErrorMessage.text = "Login Success";
}
});
}
catch (InvalidOperationException e)
{
ErrorMessage.color = Color.red;
ErrorMessage.text = e.Message;
Invoke("ClearForm", 4);
// Error from the SDK logic checks
// e.Message will contain the specific error
// ex: "Cannot sign up user with an empty name."
}
С тех пор как я не справился с этим в течение 2 дней, я решил просто выполнить функцию, которая проверяет имя пользователя при каждом обновлении ввода, но даже это не работает ... и у них есть только один маленький пример для как запросить пользователей ... Мне действительно нужны некоторые примеры документов .. пожалуйста ...
вот что я пробовал.
public void CheckUserName()
{
if (UserNameInput.text.Length > 2)
{
ParseUser.Query.WhereEqualTo("username", UserNameInput.text).FindAsync().ContinueWith(t =>
{
if (t.Result.Any())
{
//it found someone make error symbol
UserNameInputError.sprite = ErrorSprite;
UserNameInputError.enabled = true;
ErrorMessage.color = Color.red;
ErrorMessage.text = "UserName Taken";
}
else
{
//it didnt? make success symbol
UserNameInputError.sprite = SuccessSprite;
UserNameInputError.enabled = true;
ErrorMessage.color = Color.green;
ErrorMessage.text = "UserName Availible";
}
});
}
else
{
UserNameInputError.sprite = ErrorSprite;
UserNameInputError.enabled = true;
ErrorMessage.color = Color.red;
ErrorMessage.text = "Username Must be More Than 2 Characters";
}
}
Однако это, похоже, не работает, и я не получаю никакой обратной связи от разбора .. всего 2 ошибки в консоли, которые могут быть связаны?
Ошибки:
get_isActiveAndEnabled can only be called from the main thread. Constructors and field initializers will be executed from the loading thread when loading a scene. Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
и
set_enabled can only be called from the main thread. Constructors and field initializers will be executed from the loading thread when loading a scene. Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
Я надеюсь, что кто-то может помочь .. и предоставить мне пример того, как проверить имя пользователя существует?
Как поймать ошибку входа в мою учетную запись выше?
и как хранить электронную почту в parseuser, что я получаю от успешного facebook логин ..
большое спасибо ..