Tom Hollander's blog

patterns, practices and pontification

Validation Application Block in the January 2007 CTP

Validation Application Block in the January 2007 CTP

Rate This
  • Comments 21

Our team is hard at work putting the finishing touches on the January 2007 CTP of Enterprise Library 3.0. This new preview release will be available on our community site any day now, but in the meantime I wanted to tease you a bit by showing you a few things that will be available in this release of the newest member of the EntLib gang, the Validation Application Block:

Validator Library: We're very close to finishing all of the validators described in my earlier post. There are still a few rough edges we'll need to smooth out after this CTP, but overall this is a much more complete validator library, so you should be able to try out some much more interesting and realistic validation scenarios.

Configuration Tool Support. As with the previous CTP, you can attach validators to objects using either attributes or configuration. But configuration is so much more fun now that the block works in the tool!

 

ASP.NET Integration: Validating your business objects from ASP.NET pages is now essentially a code-free experience. The January 2007 CTP includes a "PropertyProxyValidator" control, which locates the validation rules defined on a object property (in either attributes or configuration) and uses this to validate data in a control.

WinForms Integration: In addition to the ASP.NET integration, we have a very similar story for Windows Forms integration. The new ValidationProvider extender control lets you specify which object is supplying the validation rules, and each control can be attached to the validators from a specific property. The ValidationProvider also integrates with the ErrorProvider control, allowing you to build highly festive forms with lots of blinky things.

QuickStarts and Documentation: While the code and unit tests are all you hard-core coders need, we have a couple of QuickStarts and an early draft of the documentation which should make it a bit easier for the rest of us to figure out what this block is all about.

I hope this gives you an idea of what to expect - we're working hard to get the next CTP out to you very soon, and we look forward to hearing your thoughts once you've had a change to play with it for yourselves.

  • Nice... I look forward to the January CTP!

  • Hoy en cosas interesantes: BDD RTM, .Net CLR Profiler, E2K7 Storage Calculator, XNA en Vista, Validation

  • That looks like a thing of beauty!

  • How difficult would it be to add the notion of severity to the validation block?

    You would associate a severity level to a validator so that it can return results other than true or false.

    For example, you could have severity levels of Warning, SeriousWarning, and Error.

    IsValid would return false if the severity is Error, and true otherwise.

    This would allow building applications that display different user feedbacks for "hard" rules and "soft" rules. This would be very useful for scientific and engineering applications where many business rules are just heuristics: you want to attract the attention of the user to the fact that the data she entered may be outside of the known bounds of validity of a model, but she may know better.

  • Hi Vincent -

    Actually we've implemented a severity mechanism, which will be included in the January CTP. Originally we were going to include a fixed list of severities, but we realized that different people would want to use them for different purposes. So in the end we decided to add a "Tag" property to each validator. This is a string property which lets you use whatever severity taxonomy that you wish. The ValidationResults class has been extended to include a "filter by tag" capability, so you can easily take a ValidationResults class and ask it for all of the results tagged with "Warning", "Critical" etc.

  • That's great news! Now I am really impatient to see that CTP...

  • Will there be WPF integration, too?

  • Hi Martin -

    Ultimately, yes - we've done a proof-of-concept and we believe we know how to implement this. However we are very pressed for time, so we won't necessarily get to include the WPF integration in the official 3.0 release. If this happens, we'd most likely ship the WPF integration as a separate extension after the release.

    Tom

  • The second CTP of Enterprise Library 3.0 is now available to download on our CodePlex community site

  • Buenas buenas news ... :D Just Released! Enterprise Library 3.0 January 2007 CTP The second CTP of Enterprise

  • Buenas buenas news ... :D Just Released! Enterprise Library 3.0 January 2007 CTP The second CTP of Enterprise

  • Et voici la seconde CTP de l'Enterprise Library 3.0. Au menu, pas mal de changements , notamment au niveau

  • Tom Hollander's blog Just Released! Enterprise Library 3.0 January 2007 CTP 엔터프라이즈 라이브러리의 1월 CTP가 공개되었습니다.

  • Via Tom Hollander ... The second CTP of Enterprise Library 3.0 is now available to download on our CodePlex

Page 1 of 2 (21 items) 12