2017-10-16 72 views
0

我使用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

+0

從我瞭解的.NET標準和.NET Framework版本不兼容。這是我選擇Nuget包的原因。 – Brolaugh

回答

1

我通過引用.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>