<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-3924739636407907202</id><updated>2009-12-31T11:08:03.573-03:00</updated><title type='text'>HunabKu</title><subtitle type='html'>IT experiences</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default?orderby=updated'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default?start-index=26&amp;max-results=25&amp;orderby=updated'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>135</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-2380897795569032129</id><published>2009-12-25T15:43:00.002-03:00</published><updated>2009-12-25T15:46:06.329-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tests'/><category scheme='http://www.blogger.com/atom/ns#' term='SharpTestEx'/><title type='text'>SharpTestsEx 1.0.0Beta : Satisfy your test</title><summary type='text'>SharpTestsEx 1.0.0 was released today. You can download it from here.  More than few improvements, regarding some assertions and its failure message, and some internal refactoring, the mayor change is about the “satisfier”.  To talk about the syntax of the satisfier is something hard basically because there is no syntax. From user side of view, using the satisfier, the assertion is a simple and </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/2380897795569032129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/12/sharptestsex-100beta-satisfy-your-test.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2380897795569032129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2380897795569032129'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/12/sharptestsex-100beta-satisfy-your-test.html' title='SharpTestsEx 1.0.0Beta : Satisfy your test'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-6582277613888723411</id><published>2009-08-07T03:11:00.003-03:00</published><updated>2009-12-24T19:46:12.121-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tests'/><category scheme='http://www.blogger.com/atom/ns#' term='SharpTestEx'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>SharpTestsEx Alpha1: MsTests Extensions</title><summary type='text'>#TestsEx is a set of extensible extensions to work with MsTests. The main target is write short assertions where the Visual Studio intellisense is your guide.  The story  In the lasts two days I remembered why I’m not using MsTests. When I began working with VisualStudio, was using the Express edition that does not have the MsTests suite. One of my customer wants use MsTests because “it is fully </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/6582277613888723411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/08/sharptestsex-alpha1-mstests-extensions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/6582277613888723411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/6582277613888723411'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/08/sharptestsex-alpha1-mstests-extensions.html' title='SharpTestsEx Alpha1: MsTests Extensions'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-6272514350237951064</id><published>2009-08-08T17:54:00.003-03:00</published><updated>2009-12-24T19:45:41.703-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tests'/><category scheme='http://www.blogger.com/atom/ns#' term='SharpTestEx'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>#TestsEx: who was born first the chicken or the egg?</title><summary type='text'>I’m refactoring and improving #TestsEx.  For serialization assertion I found that the message was not so clear if the actual value, under test, is null.  So I wrote this new test before change framework code:  [TestMethod]public void SerializableNullShouldThrowClearException(){   Seri actual = null;   ActionAssert.Throws&lt;ArgumentException&gt;(()=&gt; actual.Should().Be.BinarySerializable())       .</summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/6272514350237951064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/08/testsex-who-was-born-first-chicken-or.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/6272514350237951064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/6272514350237951064'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/08/testsex-who-was-born-first-chicken-or.html' title='#TestsEx: who was born first the chicken or the egg?'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-2157631084886282226</id><published>2009-08-15T21:05:00.003-03:00</published><updated>2009-12-24T19:45:06.898-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tests'/><category scheme='http://www.blogger.com/atom/ns#' term='SharpTestEx'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>Developing #TestsEx</title><summary type='text'>I’m developing some new features in SharpTestsEx.  This is the test:  [TestMethod]public void GetMessage(){   var ass = new OrAssertion&lt;int&gt;(new AssertionStub&lt;int&gt;("Left message"),       new AssertionStub&lt;int&gt;("Right message"));   var lines = ass.GetMessage(1, null)       .Split(new[] {Environment.NewLine}, StringSplitOptions.None);   lines.Should().Have.SameSequenceAs("(Left message)", "Or", "(</summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/2157631084886282226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/08/developing-testsex.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2157631084886282226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2157631084886282226'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/08/developing-testsex.html' title='Developing #TestsEx'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-297670259444746814</id><published>2009-08-12T18:11:00.003-03:00</published><updated>2009-12-24T19:44:47.406-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tests'/><category scheme='http://www.blogger.com/atom/ns#' term='SharpTestEx'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>#TestsEx Apla2 was released</title><summary type='text'>Sharp Tests Ex Alpha2 was released today (download).  In the wiki is now available the Syntax overview.  One of the challenge of this version was rewrite all failure messages to magnify the cause of the failing test.                        Similar messages are available for all other assertions.   The next step.Should().Be. the syntax for lambda based assertions as:      const int y = 2;const int</summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/297670259444746814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/08/testsex-apla2-was-released.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/297670259444746814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/297670259444746814'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/08/testsex-apla2-was-released.html' title='#TestsEx Apla2 was released'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-607994661685626255</id><published>2009-09-23T02:34:00.003-03:00</published><updated>2009-12-24T19:44:08.482-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tests'/><category scheme='http://www.blogger.com/atom/ns#' term='SharpTestEx'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>Sharp Tests Ex 0.3.0 : fluent and lambda assertions for MsTests, NUnit and xUnit</title><summary type='text'>#TestsEx 0.3.0 was released yesterday.  News  The first news is that #TestsEx is no more a “one-man-show”; Jason Diamond is now part of the team.  The second news is that the new syntax, based on lambda expression, is now available (similar to the one available in NUnitEx). You can see an example in the download page.  var var2 = 2;2.Satisfy(a =&gt; var2 == a);1.Satisfy(a =&gt; a == 1 || a != 0);The </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/607994661685626255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/09/sharp-tests-ex-030-fluent-and-lambda.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/607994661685626255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/607994661685626255'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/09/sharp-tests-ex-030-fluent-and-lambda.html' title='Sharp Tests Ex 0.3.0 : fluent and lambda assertions for MsTests, NUnit and xUnit'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-4204331180186397299</id><published>2009-11-15T11:00:00.003-03:00</published><updated>2009-12-24T19:43:09.163-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tests'/><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='SharpTestEx'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>Refactorizing tests</title><summary type='text'>I had read, in some place on the cloud, that SharpTestsEx make the test more verbose even if it is more readable.  In NHibernate.Validator (NHV) we are using #TestsEx. After implements some new features I’m improving some stuff where I’m needing a little breaking change.  This is an existing test using classic NUnit syntax:  [Test]public void CreditCard(){   CreditCard card = new CreditCard();   </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/4204331180186397299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/refactorizing-tests.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4204331180186397299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4204331180186397299'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/refactorizing-tests.html' title='Refactorizing tests'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-430400127572655380</id><published>2009-08-01T00:54:00.005-03:00</published><updated>2009-12-01T09:24:59.146-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NHibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='ORM'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>From DB to RAM: WellKnowInstanceType</title><summary type='text'>How many times we are putting something in DB even if it is not needed ? No one ? sure ?  In these days I’m reviewing an application after four year rolling. I have checked the persistent states of some entities and they are in exactly the same state they was four years ago; why entities should not persist in compiled code ?  The enum is a special kind of these entities. If the value of the enum </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/430400127572655380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/08/from-db-to-ram-wellknowinstancetype.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/430400127572655380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/430400127572655380'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/08/from-db-to-ram-wellknowinstancetype.html' title='From DB to RAM: WellKnowInstanceType'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-1301649847160252992</id><published>2009-11-22T17:38:00.004-03:00</published><updated>2009-11-22T17:50:13.545-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='Castle Windsor'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>The GuyWire</title><summary type='text'>In a afternoon of July I was working refactorizing a web-project. We was using the XML configuration of Castle.Windsor and Santiago Leguiza asked me a way to simplify the configuration.  The natural way to go is the configuration via Fluent-Interface. At that time my opinion about fluent-conf of the IoC was not so good because the fluent-conf needs references to each layer of the application. We </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/1301649847160252992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/guywire.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/1301649847160252992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/1301649847160252992'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/guywire.html' title='The GuyWire'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-2200980912419229588</id><published>2009-11-19T17:16:00.005-03:00</published><updated>2009-11-19T19:09:44.350-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>The .NET’s Attribute hole</title><summary type='text'>Reading this post try to imagine how much I have worked, with my code, before create a test to test the behavior of the class Attribute.  Assertion  In .Net an Attribute is a class as any other and may have state and behavior.  True ? so and so… first of all, as class, it has some restriction as: it must inherit from System.Attribute and can’t be a generic class; second as any class it was </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/2200980912419229588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/nets-attribute-hole.html#comment-form' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2200980912419229588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2200980912419229588'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/nets-attribute-hole.html' title='The .NET’s Attribute hole'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-3811176229865047791</id><published>2009-11-17T20:21:00.005-03:00</published><updated>2009-11-17T20:34:39.236-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>NHibernate.Validator: Tags</title><summary type='text'>At the begin of NHibernate Validator we have talked about the exigency of assign a “gravity level” to each validation (for instance Error, Warning, Information). In the last year we had requests for “validation grouping” and “different validation, for the same entity, in different contexts”. Our answer is: validation tagging What is a tag In NHibernate Validator a tag has de same meaning you are </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/3811176229865047791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/nhibernatevalidator-tags.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/3811176229865047791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/3811176229865047791'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/nhibernatevalidator-tags.html' title='NHibernate.Validator: Tags'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-4950217173678043520</id><published>2009-11-12T20:02:00.004-03:00</published><updated>2009-11-13T01:13:49.205-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>MVP in web-Forms using Ajax</title><summary type='text'>As you probably know I’m not neither an UX nor UI guy and in general, since the last few years, I’m trying to stay far away from something called “view”.  I’m involved in an existing Web-Forms project as consultant and sometimes as developer. The project has some years of active development and, although its success improves day by day, from the point of view of maintenance of some parts we have </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/4950217173678043520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/mvp-in-web-forms-using-ajax.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4950217173678043520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4950217173678043520'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/mvp-in-web-forms-using-ajax.html' title='MVP in web-Forms using Ajax'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-2342921322517501738</id><published>2009-11-02T19:00:00.001-03:00</published><updated>2009-11-12T20:07:34.205-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='Castle Windsor'/><category scheme='http://www.blogger.com/atom/ns#' term='Fluent-configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>Validation Abstraction: Custom</title><summary type='text'>If you have read this post you know I’m having some psychological problem at work: multi-personality.  My dear friend Fabio-NHV said me: hey man! I have a very good OSS validation framework strongly recommended if you are validating entities you are using with NHibernate.  And I said: Cool!! but your framework is only an option for me… soon or later I’ll use something else and, btw, I need to mix</summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/2342921322517501738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/validation-abstraction-custom.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2342921322517501738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2342921322517501738'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/11/validation-abstraction-custom.html' title='Validation Abstraction: Custom'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-4521835956636068830</id><published>2009-10-31T07:00:00.000-03:00</published><updated>2009-10-31T07:00:05.311-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='NHibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='Fluent-configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>Validation through persistence: not synchronized</title><summary type='text'>In this series you saw mostly the configuration of NHibernate.Validator through Loquacious (our configuration based on fluent-interface).  What is the ValidationDef&lt;T&gt; ?  If you are using the Satisfier (validation through lambdas) the ValidationDef become the class whose responsibility is validate a instance of T.  If you need some validation, involving the persistence, and you want do it through</summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/4521835956636068830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/validation-through-persistence-not.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4521835956636068830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4521835956636068830'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/validation-through-persistence-not.html' title='Validation through persistence: not synchronized'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-8610713714312549412</id><published>2009-10-30T07:00:00.000-03:00</published><updated>2009-10-30T07:00:06.415-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='NHibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='Fluent-configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>Validation through persistence: synchronized</title><summary type='text'>This post is about one possible answer to the question mememem ask me in this post (ah… nice nick).  The task is create a validator to validate the uniqueness, of an entity instance, using some properties’ values instead its POID (Persistence Object ID).  The implementation  public class BlogPost{   public string Title { get; set; }   public DateTime Date { get; set; }   public string Content { </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/8610713714312549412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/validation-through-persistence.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/8610713714312549412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/8610713714312549412'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/validation-through-persistence.html' title='Validation through persistence: synchronized'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-1953686190466300560</id><published>2009-10-29T13:51:00.003-03:00</published><updated>2009-10-29T13:56:44.916-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NHibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>NHibernate visual Class and mapping generator integrated with VisualStudio2010</title><summary type='text'>Do you remember this post ?  Now Microsoft gave us a step-by-step guide : POCO Templates for the Entity Framework  Fantastic!!!  Now we need a good soul starting the integration with NHibernate to generate POCO and mappings.  There will be a little difference:  The POCO template generates Entities that supports change notification.</summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/1953686190466300560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernate-visual-class-and-mapping.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/1953686190466300560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/1953686190466300560'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernate-visual-class-and-mapping.html' title='NHibernate visual Class and mapping generator integrated with VisualStudio2010'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-4150307049285084134</id><published>2009-10-29T07:00:00.001-03:00</published><updated>2009-10-29T07:00:07.879-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='Fluent-configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>NHibernate.Validator &amp; NHibernate</title><summary type='text'>The validation is defined as a classic cross cutting concern… well… if we are talking about that we need to validate something everywhere I can agree with that definition, but if we are talking about the validation of domain entities I don’t agree.  The validation of a domain-entity shouldn’t happen in the persistence-layer nor in the presentation-layer and even less in the persistence itself.  </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/4150307049285084134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-nhibernate.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4150307049285084134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4150307049285084134'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-nhibernate.html' title='NHibernate.Validator &amp;amp; NHibernate'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-1531277984124609766</id><published>2009-10-28T07:00:00.001-03:00</published><updated>2009-10-28T07:00:16.252-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='Fluent-configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>NHibernate.Validator : Customizing messages (Message Interpolator)</title><summary type='text'>The message interpolator is the responsible of the messages translation/composition. In the coming soon version (NHV-1.2.0) we had increase its power (and refactorized its implementation).  Has default NHV has two implementations: DefaultMessageInterpolatorAggregator and DefaultMessageInterpolator.  What is the usual you have seen in NHibernate’s eco-system ?  Yes, you are right: Injectability!!!</summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/1531277984124609766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-customizing_28.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/1531277984124609766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/1531277984124609766'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-customizing_28.html' title='NHibernate.Validator : Customizing messages (Message Interpolator)'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-1790329372848272003</id><published>2009-10-27T07:00:00.002-03:00</published><updated>2009-10-27T07:00:17.214-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='Fluent-configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>NHibernate.Validator : Customizing messages (bases)</title><summary type='text'>One of the most powerful feature of NHibernate.Validator is its way to manage messages.  In this post are the bases of the massage customization.  The Price  In the last moth this blog was visited from 101 countries but NHibernate.Validator has only 8 translations. The available cultures are: en, es, it, fr, de, nl, lv, pl. Are you seeing the translation in your language ? you don’t ? What you </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/1790329372848272003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-customizing.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/1790329372848272003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/1790329372848272003'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-customizing.html' title='NHibernate.Validator : Customizing messages (bases)'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-3205821911232617123</id><published>2009-10-26T05:00:00.006-03:00</published><updated>2009-10-26T09:14:22.698-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='Fluent-configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>NHibernate.Validator : Extending ValidationDef</title><summary type='text'>In various applications I’m using my implementation of Range.  public interface IRange&lt;T&gt; : IEquatable&lt;IRange&lt;T&gt;&gt; where T : IComparable&lt;T&gt;{T LowLimit { get; }T HighLimit { get; }bool IsEmpty { get; }bool Includes(T value);bool Includes(IRange&lt;T&gt; other);bool Overlaps(IRange&lt;T&gt; other);}As you can imagine I’m using it to represent various kind of ranges and in each usage I need to validate the range</summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/3205821911232617123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-extending_26.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/3205821911232617123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/3205821911232617123'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-extending_26.html' title='NHibernate.Validator : Extending ValidationDef'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-8074874128728670605</id><published>2009-10-21T02:21:00.008-03:00</published><updated>2009-10-25T07:42:26.260-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='NHibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>Advanced NHibernate.Validator</title><summary type='text'>Since long time ago I’m not writing posts about the usage of NHibernate.Validator. I wrote the post “Diving in NHibernate.Validator” because I saw some wrong examples, and even a wrong usage in another framework using NHV.  Yesterday, talking with José Romaniello, I have realized how much poor is our documentation and how few are our examples.  I have decided to begin a new series of posts on NHV</summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/8074874128728670605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/advanced-nhibernatevalidator.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/8074874128728670605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/8074874128728670605'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/advanced-nhibernatevalidator.html' title='Advanced NHibernate.Validator'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-2122996666044832186</id><published>2009-10-24T07:00:00.000-03:00</published><updated>2009-10-24T07:00:01.642-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='Fluent-configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>NHibernate.Validator : The “Satisfy” way of custom Validators</title><summary type='text'>The Satisfy (perhaps it sound familiar to some SharpTestsEx users ;) ).  To show how it work the example is a constraint for Person.Name: a Name is significant when it has more than three characters, is composed by letters and the first letter is in uppercase.  To create a that validator, in the classic way, we should create an Attribute implementing IRuleArgs and then a class implementing </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/2122996666044832186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-satisfy-way-of.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2122996666044832186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2122996666044832186'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-satisfy-way-of.html' title='NHibernate.Validator : The “Satisfy” way of custom Validators'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-4644927365319852419</id><published>2009-10-23T07:00:00.001-03:00</published><updated>2009-10-23T07:00:02.285-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='Fluent-configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>NHibernate.Validator : Fine grained and polymorphic validation</title><summary type='text'>If you know that you can define constraints for classes, properties and even for field, what mean “Fine grained validation” ?  In NHV, when you define a validator you are defining a validator for a System.Type… well… for real you can define a validator for various types but let me simplify the concept a little bit (parafrasando lo psico nano: “mi consenta”).  In OOP the Type can be polymorphic </summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/4644927365319852419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-fine-grained-and.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4644927365319852419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4644927365319852419'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-fine-grained-and.html' title='NHibernate.Validator : Fine grained and polymorphic validation'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-2724448625745752083</id><published>2009-06-16T14:58:00.003-03:00</published><updated>2009-10-22T23:28:13.628-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NHibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>Improving ADO exception management in NHibernate</title><summary type='text'>When you working with NHibernate you may need to manage some specific situation where an exception is thrown by the RDBMS/DataProvider. For example you may need to do something specific for a “constraint violation”,  to manage a “deleted object” or a stale-object-state but generated by RDBMS (because isolation level for example).. and so on.  All those ADO.NET exceptions are catch and wrapped, in</summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/2724448625745752083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/06/improving-ado-exception-management-in.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2724448625745752083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/2724448625745752083'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/06/improving-ado-exception-management-in.html' title='Improving ADO exception management in NHibernate'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3924739636407907202.post-4136650433748413271</id><published>2009-10-22T07:00:00.002-03:00</published><updated>2009-10-22T07:00:00.851-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Validator'/><category scheme='http://www.blogger.com/atom/ns#' term='Fluent-configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>NHibernate.Validator : Extending Loquacious configuration</title><summary type='text'>The needs to extend the configuration come when you having some custom and reusable validators.  For this post I will use a constraint to solve : if a string property is null or empty it is valid, but if it is not empty it must satisfy the minimal required number of characters.  Creating the Validator  The first step is create a class to hold the information needed during validation; in this case</summary><link rel='replies' type='application/atom+xml' href='http://fabiomaulo.blogspot.com/feeds/4136650433748413271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-extending.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4136650433748413271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3924739636407907202/posts/default/4136650433748413271'/><link rel='alternate' type='text/html' href='http://fabiomaulo.blogspot.com/2009/10/nhibernatevalidator-extending.html' title='NHibernate.Validator : Extending Loquacious configuration'/><author><name>Fabio Maulo</name><uri>http://www.blogger.com/profile/13558454874302740335</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03401402695585075558'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry></feed>