Validation Application Block in the January 2007 CTP

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.

Comments

  • Anonymous
    January 17, 2007
    Nice... I look forward to the January CTP!

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

  • Anonymous
    January 18, 2007
    That looks like a thing of beauty!

  • Anonymous
    January 18, 2007
    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.

  • Anonymous
    January 18, 2007
    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.

  • Anonymous
    January 18, 2007
    That's great news! Now I am really impatient to see that CTP...

  • Anonymous
    January 19, 2007
    Will there be WPF integration, too?

  • Anonymous
    January 19, 2007
    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

  • Anonymous
    January 19, 2007
    The second CTP of Enterprise Library 3.0 is now available to download on our CodePlex community site

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

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

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

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

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

  • Anonymous
    January 24, 2007
    Validation Application Block Presentation and New Features - Enterprise Library 3.0 by David Hayden I

  • Anonymous
    February 10, 2007
    Version 3.0 of the Enterprise Library contains a Validator Block - there’s a CTP here.  Looking at the details on Tom Hollander’s blog, this block has the closest functionality to nspectre of any framework I’ve come across...

  • Anonymous
    March 08, 2007
    How should I perform validation against 'Grid' in window?

  • Anonymous
    March 12, 2007
    Yes, It may create a huge problem I guess

  • Anonymous
    March 12, 2007
    Even I am wondering how to hook up validation against Grid Column!! Anyone has answer?

  • Anonymous
    March 12, 2007
    No possitive response found!! Have to wait till entlib get released?