Newbe.ObjectVisitor 0.4.4 釋出,模型驗證器上線

Newbe36524發表於2020-12-09

Newbe.Claptrap 0.4.4 釋出,模型驗證器上線。

更新內容

完全基於表示式樹的模型驗證器

本版本,我們帶來了基於表示式樹實現的模型驗證器。並實現了很多內建的驗證方法。

我們羅列了與 FluentValidation 比較的情況:

Build in Validators FluentValidation 9.X Newbe.ObjectVistor
NotNull ✔️ ✔️ NotNull; class
NotEmpty ✔️ ✔️ NotEmpty; string,enumerable
NotEqual ✔️ ✔️ NotEqual; all
Equal ✔️ ✔️ Equal; all
Length ✔️ ✔️ Length; string,enumerable
MaxLength ✔️ ✔️ MaxLength; string,enumerable
MinLength ✔️ ✔️ MinLength; string,enumerable
Less Than ✔️ ✔️ LessThan; number
Less Than Or Equal ✔️ ✔️ LessThanOrEqual; number
Greater Than ✔️ ✔️ GreaterThan; number
Greater Than Or Equal ✔️ ✔️ GreaterThanOrEqual; number
Predicate ✔️ ✔️ Validate; all
Regular Expression ✔️ ✔️ MatchRegex,NotMatchRegex; string
Email ✔️ ? MatchRegex; string
Credit Card ✔️ ? MatchRegex; string
Enum ✔️ ✔️ IsInEnum; number,string,enum
Enum Name ✔️ ✔️ IsEnumName; string
Empty ✔️ ✔️ Empty; string,enumerable
Null ✔️ ✔️ Null; class
ExclusiveBetween ✔️ ✔️ IsInRange; number,enum
InclusiveBetween ✔️ ✔️ IsInRange; number,enum
ScalePrecision ✔️ ✔️ ScalePrecision; number
Or ✔️ Or; all
IsInSet ✔️ IsInSet; all
IsNotInSet ✔️ IsNotInSet; all
CanParse ? CanParse; all

FluentAPI 生成器重構的程式碼

我們基於 0.3 已經發布的 FluentAPI 進行了核心程式碼重構,現在一些特定場景下需要您指定的泛型引數更少了,但是功能沒有減少,更有利您進行開發。

類似的,例如下面這個變更:

  // create a data visitor to cover sensitive data
  _visitor = default(UserModel).V()
-     .ForEach<UserModel, string>(x => CoverSensitiveData(x))
+     .ForEach<string>(x => CoverSensitiveData(x))
      .Cache();

同時支援英文與簡體中文方法註釋

在熱心網友 EventHorizon1024 的幫助下,我們在保留英文作為原始註釋的情況下,對使用簡體中文 IDE 的開發者們提供了全簡中的方法說明。

開發者無需特殊操作,便可以在 IDE 中直接檢視到簡體中文的方法註釋。

如何實現的詳細操作方法,開發者也可以通過以下連結借鑑使用:

https://github.com/dotnet/roslyn/issues/3371#issuecomment-737623706

開發文章站點正式上線

我們非常順利的上線了開發文件站點:

後續所有關於本工具包相關的文章除了在部落格 https://www.newbe.pro 及相關部落格公佈之外,我們將會更新以上站點,豐富其中的文件。

目前,我們已經上線了幾篇簡單的文件:

相關文章