AN OBJECT ORIENTED APPROACH TO VALIDATIONS
Bob Silverberg
Bob Silverberg
www.silverwareconsulting.com
@elegant_chaos
no notes exist for this slide
Who Am I
no text exists for this slide
no notes exist for this slide
The Problem
no text exists for this slide
no notes exist for this slide
Slide 4
no text exists for this slide
no notes exist for this slide
Where Oh Where
Where, Oh Where?
Client Side
no notes exist for this slide
Business Rules are Consistent Implementations are Not
Business Rules are Consistent, Implementations are Not
no notes exist for this slide
We Have to Do It Time and Again
We Have to Do It Time and Again!
no notes exist for this slide
Slide 8
no text exists for this slide
no notes exist for this slide
Implementations Change
no notes exist for this slide
Where Do We Put the Logic
Where Do We Put the Logic?
no notes exist for this slide
Slide 11
no text exists for this slide
no notes exist for this slide
A Solution
no text exists for this slide
no notes exist for this slide
Four Objectives
no text exists for this slide
no notes exist for this slide
Code Generation
no notes exist for this slide
Flexible Validations
no notes exist for this slide
Flexible Feedback
no notes exist for this slide
Framework Agnostic
no notes exist for this slide
Hmm
no text exists for this slide
no notes exist for this slide
ValidateThis
no text exists for this slide
no notes exist for this slide
Slide 20
no text exists for this slide
no notes exist for this slide
Slide 21
no notes exist for this slide
Slide 22
no notes exist for this slide
Slide 23
no notes exist for this slide
Slide 24
no notes exist for this slide
Quick Demo
no text exists for this slide
no notes exist for this slide
How
no text exists for this slide
no notes exist for this slide
Slide 27
no notes exist for this slide
Lets Talk Metadata
no text exists for this slide
no notes exist for this slide
Properties and Rules
no notes exist for this slide
Rules with Parameters
Rules with Parameters
<property name="UserPass" desc="Password">
<rule type="rangelength">
<param minlength="5" />
<param maxlength="10" />
</rule>
<rule type="equalTo">
<param ComparePropertyName="VerifyPassword" />
</rule>
<rule type="custom">
<param methodname=âcheckPWHistory" />
</rule>
</property>
no notes exist for this slide
Conditional Rules
Conditional Rules
<property name="LastName" desc="Last Name">
<rule type="required" contexts="Register">
<param DependentPropertyName="FirstName" />
</rule>
</property>
<property name="CommunicationMethod"
desc="Communication Method">
<rule type="required" contexts=â*">
<param DependentPropertyName="AllowCommunication" />
<param DependentPropertyValue="1" />
</rule>
</property>
no notes exist for this slide
Slide 32
no text exists for this slide
no notes exist for this slide
Yeah but How
no text exists for this slide
no notes exist for this slide
Slide 34
no notes exist for this slide
Overall Architecture
no notes exist for this slide
Core Objects
no notes exist for this slide
How Does the BO Get Those Nifty Objects
How Does the BO Get Those Nifty Objects?
no notes exist for this slide
Slide 38
no notes exist for this slide
Server Objects
no text exists for this slide
no notes exist for this slide
Slide 40
no notes exist for this slide
Slide 41
no notes exist for this slide
Slide 42
no notes exist for this slide
Slide 43
no notes exist for this slide
Slide 44
no notes exist for this slide
Server Side Validations
no notes exist for this slide
Client Objects
no text exists for this slide
no notes exist for this slide
Slide 47
no notes exist for this slide
Slide 48
no notes exist for this slide
Slide 49
no notes exist for this slide
Slide 50
no notes exist for this slide
Client Side Validations
no notes exist for this slide
Slide 52
no notes exist for this slide
Resources
Resources
validatethis.riaforge.org
www.silverwareconsulting.com
groups.google.com/group/validatethis
no notes exist for this slide
Q amp A
no text exists for this slide
no notes exist for this slide
love
Posted By: farah On: 05/20/09 10:27 AM