Trimando variáveis para sempre

Uma dica óbvia e simples (por isso mesmo bastante elegante) que encontrei hoje no blog de Tjarko Rikkerink . É muito comum utilizarmos a função Trim() para “limparmos” espaços vazios antes e depois das strings toda vez que precisamos manipulá-las com mais precisão ou então para inserí-la num banco de dados com informações provenientes de um formulário. Eis que ao invés de usar Trim() em todos estes lugares (ex: #Trim(form.campo)#) correndo o risco de esquecer em alguns, você pode configurar um “motor” geral para executar isso no seu Application.cfm (por exemplo). Ele faz uso de looping sobre a estrutura/escopo que você desejar (form, attributes, url, etc – lembrando-se de manipular somente escopos que permitem isso) e faz todo o trabalho automaticamente. É menos performático que fazer ponto-a-ponto, mas ainda sim muito prático:


<cfif isDefined("form.fieldnames")>
<cfloop collection="#form#" item="formfield">
<cfset form[formfield] = trim(form[formfield])>
</cfloop>
</cfif>