覆盖Nuget中的RegularExpressionAttribute.IsValid System.ComponentModel.Annotations
问题描述:
我使用Nuget包System.ComponentModel.Annotations进行数据验证。现在我想通过Regular Expressions添加验证。问题是我想添加RegexOptions
类似于this thread。 的nuget软件包版本不会像.NET Framework DLL那样返回bool
,而是它会返回ValidationResult
,它似乎没有一个用于覆盖的简单方法,因为我找不到任何方法来更改验证结果。我使用Nuget包而不是Framework提供的版本的原因是它需要同时支持Nuget包支持的.NET 4.5和.NET Standard 1.1。那么如何以任何有意义的方式覆盖RegularExpressionAttribute.IsValid()
?覆盖Nuget中的RegularExpressionAttribute.IsValid System.ComponentModel.Annotations
答
我通过引用.NETStandard 1.3,而不是1.1 .NETStandard作为版本增加了对RegularExpressionAttribute.IsValid()
,除了返回一个ValidationResult
一个返回bool
一个覆盖解决的问题。但是,由于.NET框架4.5只实现.NETStandard 1.1我不得不产生一个编辑多种框架靶向project.csproj
结束这样看:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard1.3;net45</TargetFrameworks>
<RootNamespace>Foobar</RootNamespace>
<AssemblyName>Foobar</AssemblyName>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.ComponentModel.Annotations" Version="4.4.0" />
</ItemGroup>
</Project>
从我了解的.NET标准和.NET Framework版本不兼容。这是我选择Nuget包的原因。 – Brolaugh