ValidateFormObject

Package: machii_info_sample.filters
Inherits from: MachII.framework.EventFilter
I am an event filter that manages validation of a form object.
Method Summary
public boolean filterEvent(Event event, EventContext eventContext, [struct paramArgs="#structNew()#"])

I am invoked by the Mach II framework.

Method Detail
filterEvent

public boolean filterEvent( Event event, EventContext eventContext, [struct paramArgs="#structNew()#"] )

I am invoked by the Mach II framework.

Parameters:
Event event
EventContext eventContext
[struct paramArgs="#structNew()#"]

Code:

	<cffunction name="filterEvent" access="public" returntype="boolean"
		displayname="filterEvent method" hint="I am invoked by the Mach II framework.">
		<cfargument name="event" type="MachII.framework.Event" required="true"
			displayname="event object" hint="I am the current event object created by the Mach II framework." />
		<cfargument name="eventContext" type="MachII.framework.EventContext" required="true"
			displayname="eventContext object" hint="I am the current event context object created by the Mach II framework." />
		<cfargument name="paramArgs" type="struct" required="false" default="#structNew()#"
			displayname="paramArgs structure" hint="I am the structure containing the parameters specified in the filter invocation in mach-ii.xml." />

		<cfscript>
			var formObjectName = "";
			var invalidEvent = "";
			var clearEventQueue = false;
			
			if ( structKeyExists( arguments.paramArgs, "formObjectName" ) ) {
				formObjectName = arguments.paramArgs.formObjectName;
			} else {
				formObjectName = getParameter( "formObjectName", "" );
			}
			if ( structKeyExists( arguments.paramArgs, "invalidEvent" ) ) {
				invalidEvent = arguments.paramArgs.invalidEvent;
			} else {
				invalidEvent = getParameter( "invalidEvent", "" );
			}
			if ( structKeyExists( arguments.paramArgs, "clearEventQueue" ) ) {
				clearEventQueue = arguments.paramArgs.clearEventQueue;
			} else {
				clearEventQueue = getParameter( "clearEventQueue", false );
			}

			if ( arguments.event.getArg( formObjectName ).validate() ) {
				return true;	// allow processing to continue
			} else {
				if ( clearEventQueue ) {
					arguments.eventContext.clearEventQueue();
				}
				arguments.event.setArg( "formObjectName", formObjectName );
				arguments.eventContext.announceEvent( invalidEvent, arguments.event.getArgs() );
				return false;	// abort the current event handler
			}
		</cfscript>
	</cffunction>