ASP.NET Core проверяет объект таблицы Azure, уже занятый - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь вызвать ошибку проверки данных обратно к своему представлению при поиске в базе данных.

// Perform lookup to see if domain has been taken already
var domainResults = await _context.TenantEntity.SingleOrDefaultAsync(x => x.Office365DomainName == Input.Office365DomainName);
if (domainResults.Office365DomainName == Input.Office365DomainName)
{
    // duplicate domain name attempted
    user.Office365DomainName = "AlreadyTaken";
    return Page();
}

Вот мое поле:

[Required]
[Display(Name = "Office 365 Domain Name")
public string Office365DomainName { get; set; }

IЯ бы предпочел использовать DataAnnotation, чтобы я мог отправить свое сообщение пользователю / представителю, но я не знаю, как его встроить.

Я попытался изменить проверку моего свойства наregex и наблюдаю за «AlreadyTaken», поскольку я устанавливаю это в своем классе, который содержит тот же объект.Моя мысль состояла в том, чтобы выполнить сопоставление регулярных выражений для чего-то непонятного (например, GUID), а затем сопоставить регулярное выражение с этим GUID для ошибки проверки.

Я, вероятно, слишком много думаю об этом и надеюсь, что у кого-то есть понимание.

1 Ответ

0 голосов
/ 29 сентября 2018

Как и предполагалось, был очень простой ответ на этот вопрос:

// Perform lookup to see if domain has been taken already
var domainResult = await _context.TenantEntity.SingleOrDefaultAsync(x => x.Office365DomainName == Input.Office365DomainName);
if (domainResult != null && domainResult.Office365DomainName == Input.Office365DomainName)
{
    // duplicate domain name attempted
    ModelState.AddModelError("Office365DomainName", "This domain has been registered already.");
    return Page();
}

Мне вообще не нужно было изменять поле.Следующая статья очень помогла: https://exceptionnotfound.net/asp-net-mvc-demystified-modelstate/

...