我尝试实现元数据类型,以便将验证属性从我的AcquisitiCode类分离到AcquisitiecodeAnnotations类中。
现在,当我向AcquisitiCode类添加属性(如Required、StringLength等)时,验证工作正常。当我将这些属性移动到AcquisitiecodeAnnotations类并使用MetadataType属性绑定该类时,我无法工作。
请找到下面的代码示例(为了可读性,我对它们进行了删减)。此外,该项目是一个ASP.NET Core3.0 web应用程序。所有代码,包括示例,也都运行in.NET Core3.0项目。
代码片段1:
using System;
using System.ComponentModel.DataAnnotations;
namespace Shared.Entities
{
[MetadataType(typeof(AcquisitiecodeAnnotations))]
public partial class Acquisitiecode
{ }
public partial class AcquisitiecodeAnnotations
{
[StringLength(4, ErrorMessage = "The value cannot exceed 4 characters. ")]
public string Acquisitiecode1 { get; set; }
}
}代码片段2:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace Shared.Entities
{
public partial class Acquisitiecode
{
public Acquisitiecode()
{
Lidmaatschap = new HashSet<Lidmaatschap>();
}
public string Acquisitiecode1 { get; set; }
public virtual Lid Lid { get; set; }
public virtual ICollection<Lidmaatschap> Lidmaatschap { get; set; }
}
}发布于 2020-10-10 15:41:16
截至2020年10月,当前版本的Blazor不支持Metadatatype。有关更多信息,请阅读this issue。
https://stackoverflow.com/questions/58936703
复制相似问题