Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 26
1

Migration в IdentityModel: "Email не может иметь значение NULL или быть пустым"

18.03.2015, 11:03. Показов 2331. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем создал Web Application ASP.NET, в встроеную IdentityModel с помощью Migration вставил два поля(LastName, FirstName) изменил модель, контроллер и вьюху регистрации, поля в БД добавились, все вроде нормально. Но при регистрации выдает ошибку "Email не может иметь значение NULL или быть пустым." хотя оно вовсе и не пустое. поле емайл не менял. С чем это может быть связано не пойму.

IdentityModel.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class ApplicationUser : IdentityUser
    {
        [Required]
        public string FirstName { get; set; }
 
        [Required]
        public string LastName { get; set; }
 
        [Required]
        public string Email { get; set; }
 
        public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
        {
            // Обратите внимание, что authenticationType должен совпадать с типом, определенным в CookieAuthenticationOptions.AuthenticationType
            var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
            // Здесь добавьте утверждения пользователя
            return userIdentity;
        }
    }
 
 
 
    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext()
            : base("DefaultConnection", throwIfV1Schema: false)
        {
        }
 
 
        public static ApplicationDbContext Create()
        {
            return new ApplicationDbContext();
        }
    }
AccountViewModel.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    public class RegisterViewModel
    {
        [Required]
        [EmailAddress]
        [Display(Name = "E-mail")]
        public string Email { get; set; }
 
        [Required]
        [Display(Name = "Имя")]
        public string FirstName { get; set; }
 
        [Required]
        [Display(Name = "Фамилия")]
        public string LastName { get; set; }
 
        [Required]
        [StringLength(100, ErrorMessage = "Значение {0} должно содержать не менее {2} символов.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Пароль")]
        public string Password { get; set; }
 
        [DataType(DataType.Password)]
        [Display(Name = "Подтверждение пароля")]
        [Compare("Password", ErrorMessage = "Пароль и его подтверждение не совпадают.")]
        public string ConfirmPassword { get; set; }
    }
AccountController.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public async Task<ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser { 
                    UserName = model.Email, 
                    Email = model.Email, 
                    FirstName = model.FirstName,
                    LastName = model.LastName
                };
                var result = await UserManager.CreateAsync(user, model.Password);
                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
                    
                    // Дополнительные сведения о том, как включить подтверждение учетной записи и сброс пароля, см. по адресу: http://go.microsoft.com/fwlink/?LinkID=320771
                    // Отправка сообщения электронной почты с этой ссылкой
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Подтверждение учетной записи", "Подтвердите вашу учетную запись, щелкнув <a href=\"" + callbackUrl + "\">здесь</a>");
 
                    return RedirectToAction("Index", "Home");
                }
                AddErrors(result);
            }
 
            // Появление этого сообщения означает наличие ошибки; повторное отображение формы
            return View(model);
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2015, 11:03
Ответы с готовыми решениями:

Name не может иметь значение NULL или быть пустым
Выводит такую ошибку, хотя удалил этот атрибут уже, но все равно выводит это сообщение, кто знает в...

Параметр String не может быть null или "пустым" значением
Здравствуйте уважаемые Знатоки, Задание таково, что в приведенном ниже Конструкторе нужно...

Запись не верна: значение поля не может быть пустым
Конфа erp 2.1. Не проводится документ Заказ давальца. Ошибка: запись не верна значение поле...

Создать структуру значение которой может быть null
создал структуру вот так: private struct mystruct { значения.... }...

1
3462 / 2473 / 695
Регистрация: 02.08.2011
Сообщений: 6,704
18.03.2015, 11:16 2
Возможно, когда вьюху изменяли, случайно убрали Editor для Email. имхо
То бишь, проверку modelState.IsValid не проходит?
0
18.03.2015, 11:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2015, 11:16
Помогаю со студенческими работами здесь

Как объект может отсутствовать или быть null, если он уже выполняется
https://metanit.com/sharp/patterns/2.3.php class Singleton { private static Singleton...

Значение NULL не может быть присвоено члену, который является типом System.Int32
Всем привет! Пишу следующий код: int? emp = ctx.Employee.Max(em =&gt; em.EmployeeID); Когда...

В чем может быть дело? Значение должно быть скаляром или вектором
Есть задание Проблема описана в теме

Файл не может быть пустым?
Пишу такой код //проверка существование каталога(пользователя) для картинок загруженных им, и...

Период не может быть пустым
1С:Предприятие 8.3 (8.3.15.1958) Привет! Подскажите. У меня в документе выскакивала ошибка:...

Может ли Nd.universalid быть пустым?
Привет, случается ошибка, вероятнее всего nd.UniversalID возвращает &quot;&quot;. В дебагере такой результат...

Код узла не может быть пустым
Ребят, не могу понять что он хочет.Хочу выполнить обмен данными, выдает это : Код узла не может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru