LISTING 1

<cfcomponent name="validationBean" output="false">
  <!--- Properties --->
  <cfset variables.Result = "true">
  <cfset variables.Message = #ArrayNew(1)#>

  <cffunction name="init" access="public" returntype="validationBean" output="false">
    <cfreturn this />
  </cffunction>

  <cffunction name="setResult" access="public" returntype="void" output="false">
    <cfargument name="Result" type="boolean" required="true" />

    <cfset variables.Result = arguments.Result>
  </cffunction>

  <cffunction name="setMessage" access="public" returntype="void" output="false">
    <cfargument name="Message" type="string" required="true" />

    <cfset ArrayClear(variables.Message)>

    <cfset appendMessage(arguments.Message)>
  </cffunction>

  <cffunction name="getResult" access="public" returntype="boolean" output="false">
    <cfreturn variables.Result />
  </cffunction>

  <cffunction name="appendMessage" access="public"  returntype="void" output="false">
    <cfargument name="ErrorMsg" default="" type="string" required="true" />

    <cfset ArrayAppend(variables.Message, arguments.ErrorMsg)>

  </cffunction>

  <cffunction name="getMessage" access="public" returntype="Array" output="false">
    <cfreturn variables.Message />
  </cffunction>

  <cffunction name="reset" access="public" returntype="void" output="false">
    <cfset variables.Result = "True">
    <cfset ArrayClear(variables.Message)>

  </cffunction>

</cfcomponent>


LISTING 2

<cfcomponent name="formBean" output="false">

  <cffunction name="init" access="public" returntype="formBean">
    <cfargument name="FirstName" default="" required="false" type="any" />
    <cfargument name="LastName" default="" required="false" type="any" />
    <cfargument name="DOB" default="" required="false" type="any" />
    <cfargument name="Citizenship" default="" required="false" type="any" />

    <cfscript>
      setFirstName(arguments.FirstName);
      setLastName(arguments.LastName);
      setDOB(arguments.DOB);
      setCitizenship(arguments.Citizenship);
    </cfscript>

    <cfreturn this />
  </cffunction>

  <cffunction name="getFirstName" access="public" returntype="Any" output="false">
    <cfreturn variables.FirstName />
  </cffunction>

  <cffunction name="setFirstName" access="public" returntype="void" output="false">
    <cfargument name="FirstName" required="true" type="Any" />
    <cfset variables.FirstName = arguments.FirstName />
  </cffunction>

  <cffunction name="getLastName" access="public" returntype="Any" output="false">
    <cfreturn variables.LastName />
  </cffunction>

  <cffunction name="setLastName" access="public" returntype="void" output="false">
    <cfargument name="LastName" required="true" type="Any" />
    <cfset variables.LastName = arguments.LastName />
  </cffunction>

  <cffunction name="getDOB" access="public" returntype="Any" output="false">
    <cfreturn variables.DOB />
  </cffunction>

  <cffunction name="setDOB" access="public" returntype="void" output="false">
    <cfargument name="DOB" required="true" type="Any" />
    <cfset variables.DOB = arguments.DOB />
  </cffunction>

  <cffunction name="getCitizenship" access="public" returntype="Any" output="false">
    <cfreturn variables.Citizenship />
  </cffunction>

  <cffunction name="setCitizenship" access="public" returntype="void" output="false">
    <cfargument name="Citizenship" required="true" type="Any" />
    <cfset variables.Citizenship = arguments.Citizenship />
  </cffunction>

  <cffunction name="validate" access="public" returntype="void" output="false">
    <cfargument name="validationBean" required="true" type="photoonlineordering.model.beans.validationBean">

    <cfif NOT Len(Trim(getFirstName()))>
      <cfset arguments.validationBean.setResult("False")>
      <cfset arguments.validationBean.appendMessage("Please enter your first name")>
    </cfif>
    <cfif NOT Len(Trim(getLastName()))>
      <cfset arguments.validationBean.setResult("False")>
      <cfset arguments.validationBean.appendMessage("Please enter your Last name")>
    </cfif>
    <cfif NOT IsDate(getDOB())>
      <cfset arguments.validationBean.setResult("False")>
      <cfset arguments.validationBean.appendMessage("DOB must be a date")>
    </cfif>
    <cfif NOT Len(Trim(getCitizenship()))>
      <cfset arguments.validationBean.setResult("False")>
      <cfset arguments.validationBean.appendMessage("Please enter your Country of Citizenship")>
    </cfif>

  </cffunction>

</cfcomponent>