[英]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.