我希望能够创建一个自定义验证器,它允许我连接到我的数据库并告诉我(例如)名称是否唯一。我曾经在 EF 中使用 [Remote] 属性,但我了解到不能在 Blazor 中使用此属性。
到目前为止我拥有的验证代码是这样的:
public class LandlordNameIsUniqueValidator : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
//This is always null
var context = (ApplicationDbContext)validationContext.GetService(typeof(ApplicationDbContext));
var checkName = new LandlordData(context);
var name = value.ToString();
var nameExists = checkName.CheckNameIsUnique(name);
if (!exists)
{
return null;
}
return new ValidationResult(ErrorMessage, new[] { validationContext.MemberName });
}
}
Run Code Online (Sandbox Code Playgroud)
我使用的代码(在应用程序的其他部分成功)如下,这将返回一个布尔值:
public class LandlordData : ILandlordData
{
private readonly ApplicationDbContext _context;
public LandlordData(ApplicationDbContext context)
{
_context = context;
}
public bool CheckNameIsUnique(string …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试使用 ASP.NET Core 6 MVC 和 Entity Framework Core 6 和 npgsql 启动一个新项目。
\n当我尝试添加一个具有外国身份的实体时ModelState.IsValid不断返回 false - 因为模型不会扩展外国实体。
基本上我遵循了官方文档:
\n所以我的课程看起来像:
\nnamespace PV.Models\n{\n public class Fakultaet\n {\n [Key]\n public int FakultaetID { get; set; }\n [Required]\n public string FakuName { get; set; }\n }\n\n public class Studiengang\n {\n [Key]\n public int StudiengangID { get; set; }\n [Required]\n public string StudiengangName { get; set;}\n [Required,ForeignKey("Fakultaet")]\n public int FakultaetID { get; set; …Run Code Online (Sandbox Code Playgroud) 我已经尝试过这里的解决方案:How toproperlysetupsnakecaseJSONfordotnetcoreapi? 但似乎这仅适用于请求/响应有效负载。有没有办法在我的 [FromQuery] 参数上强制使用 Snake_case 格式?
我正在尝试在我的 ASP.NET MVC5 项目中使用 Bootstrap(我想使用 .NET 5,但尚未完全支持 Visual Basic。)
\n我安装了最新的 NuGet 包,但没有将文件夹/文件添加到我的项目\xe2\x80\x94,仅在引用节点下添加了包本身。
\n我找到了这个广泛的答案,但它有点过时,并且它解决了 ASP.NET Core 的项目架构。我添加了建议的Package.json文件,但没有node_modules在我的项目中的任何位置添加文件夹。
如何开始在 MVC5 项目中使用 Bootstrap NuGet 包?
\n- 编辑 -
\n我正在使用PackageReference,而不是Packages.config。