Skip to content

Instantly share code, notes, and snippets.

@jbuda
Created March 19, 2013 13:33
Show Gist options
  • Save jbuda/5196129 to your computer and use it in GitHub Desktop.
Save jbuda/5196129 to your computer and use it in GitHub Desktop.
ColdBox RequiredFields cfc
<cfcomponent name="RequiredFields" extends="coldbox.system.plugin" output="false">
<cffunction name="init" access="public" returntype="RequiredFields" output="false">
<cfargument name="controller" type="any" required="true">
<cfset super.Init(arguments.controller) />
<cfset setpluginName("Required Fields Plugin")>
<cfset setpluginVersion("1.0")>
<cfset setpluginDescription("This plugin checks for form validations and checks for completed fields")>
<cfreturn this>
</cffunction>
<cffunction name="validate" access="public" output="false" returntype="struct">
<cfargument name="fields" type="string" required="true" />
<cfargument name="collection" type="struct" required="true" />
<cfset var _result = structNew() />
<cfset var _required = arguments.fields />
<cfset var _message = '' />
<cfset _result.message = _message />
<cfset _result.success = true />
<cfloop list="#_required#" index="i" delimiters=",">
<cfif structKeyExists(collection,i) and collection[i] eq ''>
<cfset _message = listAppend(_message,i,',') />
</cfif>
</cfloop>
<cfif _message neq ''>
<cfset _result.success = false />
<cfset _result.message = 'Please complete the following fields :>br/<'&rereplacenocase(_message,',',', ','ALL') />
<cfelse>
<cfset _result.message = 'Your details have been sent' />
</cfif>
<cfreturn _result />
</cffunction>
</cfcomponent>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment