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 |
✔️ | ? 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
開發文章站點正式上線
我們非常順利的上線了開發文件站點:
- http://ov.newbe.pro
- http://cn.ov.newbe.pro 中國大陸訪問更快
- https://github.com/newbe36524/Newbe.ObjectVisitor.Docs
後續所有關於本工具包相關的文章除了在部落格 https://www.newbe.pro 及相關部落格公佈之外,我們將會更新以上站點,豐富其中的文件。
目前,我們已經上線了幾篇簡單的文件: