Вы проверили, передаете ли вы ноль в качестве идентификатора get
?Скорее всего, так как пользователь, который у вас в памяти, не будет обновлен.
Если вам нужно повторно использовать идентификатор, попробуйте сделать следующее:
user = user.save();
Я не добавляюпроверка, так как сейчас вы ничего не делаете с этим.ValidateAndSave (см. code ) возвращает значение true, если проверка прошла успешно, в противном случае - значение false.Вы игнорируете его, поэтому нет смысла использовать этот метод.
Если вы все еще хотите проверить, лучше разделите шаги: сначала проверьте, а затем сохраните, чтобы получить новый идентификатор.