Hi Dan,

You're quite right - it does sort of do it. I use the getValue default argument 
on a regular basis within my views - but I hadn't realised that it would set 
the value too if it didn't already exist before returning it.

This will certainly do the job - it just looks a little odd from a semantic 
point of view within the controller. Calling get when what I'm really intending 
to do it set.

Given that it's a simple implementation do you think there is a case for adding 
a new method to the API as I suggested? It would make code within the 
controller more meaningful if I was calling pramValue() I think.

Robert

On 19 Dec 2011, at 14:11, Dan Wilson wrote:

> I think the event.getValue() method sort of does this.
> 
> Take a look here:  
> http://docs.model-glue.com/wiki/ReferenceMaterials/EventApi#GetValuename:stringdefault:any
>  
> 
> 
> 
> DW
> 
> On Mon, Dec 19, 2011 at 7:11 AM, Rawlins <[email protected]> wrote:
> Hello Guys,
> 
> I'm finding myself with an increasing need to param a value into the event 
> (set it only if it does not already exist).
> 
> One example use case for this is form validation.
> 
> In my controller method for the form I need a validation result object, which 
> contains all the errors and other failure information.
> 
> This object could come from two places - It could be that the user has been 
> passed back to this form page after a failed validation, with the result 
> object preserved in the event, or if one doesn't already exist and this is 
> the first time viewing the form, I'll create a new result object for them.
> 
> This results in handler code that looks something like this:
> 
>                       <!--- Param the validation result into the object too. 
> --->
>                       <cfif NOT event.valueExists("ValidationResult")>
>                               <cfset event.setValue("ValidationResult", 
> Beans.ValidateThis.newResult()) />
>                       </cfif>
> 
> This works just fine, but it's needlessly verbose. I'd like to propose a 
> change to the event object API that makes this much easier - here are a 
> couple of ideas:
> 
> event.paramValue('name', 'value');
> 
> or a modification to the current setValue() method, which adds a 3rd argument 
> that defines if the value should be overwritten, if false and a previous 
> value exists for the key then it's left intact.
> 
> event.setValue("name", "value", false);
> 
> Does anyone else have some ideas on this? am I looking at this situation in 
> completely the wrong way? does something already exist like this?
> 
> Thanks.
> 
> Robert
> 
> -- 
> Model-Glue Sites:
> Home Page: http://www.model-glue.com
> Documentation: http://docs.model-glue.com
> Bug Tracker: http://bugs.model-glue.com
> Blog: http://www.model-glue.com/blog
>  
> You received this message because you are subscribed to the Google
> Groups "model-glue" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/model-glue?hl=en
> 
> 
> 
> -- 
> Plutarch - "The mind is not a vessel to be filled but a fire to be kindled."
> 
> -- 
> Model-Glue Sites:
> Home Page: http://www.model-glue.com
> Documentation: http://docs.model-glue.com
> Bug Tracker: http://bugs.model-glue.com
> Blog: http://www.model-glue.com/blog
>  
> You received this message because you are subscribed to the Google
> Groups "model-glue" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/model-glue?hl=en

-- 
Model-Glue Sites:
Home Page: http://www.model-glue.com
Documentation: http://docs.model-glue.com
Bug Tracker: http://bugs.model-glue.com
Blog: http://www.model-glue.com/blog

You received this message because you are subscribed to the Google
Groups "model-glue" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/model-glue?hl=en

Reply via email to