簡體   English   中英

ASP.NET Core驗證已采用的Azure表實體

[英]ASP.NET Core validate Azure Table Entity already taken

我正在嘗試在查詢數據庫后端時觸發數據驗證錯誤回到我的視圖。

// 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; }

我更喜歡使用DataAnnotation,以便可以將自定義消息發送回視圖/用戶,但是我對如何構建此消息不知所措。

我試圖將我的屬性驗證更改為正則表達式,並在將“ AlreadyTaken”設置為包含同一個對象的類中進行設置時進行了觀察。 我的想法是對一些晦澀的事物(例如GUID)執行正則表達式匹配,然后讓我的正則表達式與該GUID匹配以解決驗證錯誤。

我可能會考慮所有這一切,希望有人對此有所了解。

如所建議的,對此有一個非常簡單的答案:

// 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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM