NHibernate.Validator is a framework to validate objects, and has not restrictions about where in your code you want make the validation. Figured it might be cool make an example when use this framework at the UI, for example onto Asp.net or Winforms. For now lets do it on Winforms.
The next form with a couple of textbox is going to be validated:

Ok now, how this form was validated? Easy, using NHibernate.Validator and some helper classes that you can find on Suricato.Winforms.Validation. The ViewValidator class is the encharged of bind the controls and rules. This is the configuration:

As you can see the ErrorProvider, that will show the inconsistencies on the values, it’s passed to the ViewValidator. Practically ViewValidator bind an UI control with the belongings rules of an object’s property. The “tFirstName” TextBox belong with the property’s rule of “FirstName” on the Customer class. Then we add the event that will do the control validation.
Could that be made in a easiest way? Yes, with a similar schema the SmartViewValidator class do bind the objects and the event registry of an automatically manner. Look:

SmartViewValidator do for us some automatically things. With less code you can do the same job, but we need to be a little conventional on our code.
The controls, must have the prefix in lowercase, following with the property’s name that it’s representing. For example, if we have a control named as “txtName”, the property’s name will be “Name”; if we have “dtpDate”, then this DateTimePicker will belong to the property “Date” on some class.
We need to remember of initialize this controls after call InitializeComponent() to avoid nullability on ErrorProvider.
How look our class with NHibernate.Validator’s attributes ?

So, you can put NHibernate.Validator where you need to validate some code with pre-builded rules or custom rules made by you too. With only configure 1 line of code and everything is integrated with the UI.