как я могу показать ошибку для уникальных полей в asp. net ядре - PullRequest
0 голосов
/ 24 января 2020

У меня проблема в связи со свойством проверки! Я использую. net core 2.1. Я проверил уникальные поля в методе OnModelCreating в классе DbContext, и он работает нормально. Теперь я хочу отобразить сообщение об ошибке, если пользователь вводит то же значение BirthCertificate (уже существует в базе данных) в поле ввода, как атрибуты Display & Required & MaxLength & ..., и отправляет (связывает) его в ModelState, чтобы проверить его , я также использую jquery .validate. js в клиенте и показываю все ошибки, и все работает нормально. как я должен это сделать:

Public Class Person
{
   [Display(Name = "Enter BirthCertificate")]
   [Required(ErrorMessage = "Please enter {0}")]
   [MaxLength(10, ErrorMessage = "Max lenght is {0}")]
   public string BirthCertificate { get; set; }
}

protected override void OnModelCreating(ModelBuilder builder)
{
    builder.Entity<DomainClasses.Person.Person>(entity =>
    {
        entity.HasIndex(e => e.BirthCertificate).IsUnique();  // it's working fine
    });
}

спасибо

1 Ответ

0 голосов
/ 24 января 2020

Вы можете использовать любой из них.

1) Создать новый уникальный ключ для BirthCertificate на SQL Сервере. Используйте catch (Exception ex) и вернитесь к ajax, чтобы показать ошибку.

2) Проверьте код

if (db.Person.Where(x => x.BirthCertificate.Contains(birthcert)).Any())
{
     //return to ajax to show error
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...