Take the 2-minute tour ×
Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. It's 100% free, no registration required.

Has anyone come up against the following issue.

I have a VF Component that references a managed component as follows:

<apex:component access="global" >
    <apex:attribute name="invoice" description="The invoice." type="Invoice__c" access="global" />   
    <ffbext:currencysymbol iso="{!invoice.Currency__c}" symbolVar="invoiceCurrencySymbol" />
                     <!-- remaining content excluded for brevity -->
</apex:component>

And, when I save (only in Spring '13 API-27 Sandbox) I get the error:

Error: <apex:attribute assignTo> cannot be same as the <apex:attribute name> ( iso )

I can easily circumnavigate the issue by changing API version to 26. However, has anyone come across this, or know what it means?

Thanks

share|improve this question

2 Answers 2

up vote 14 down vote accepted

From the spring 13 release notes

there is a new compile-time check that prevents giving custom Visualforce component attributes the same name as the assignTovalue (which can refer to a property or method in the component’s controller). This checking prevents a number of programming errors (bugs) that can result in runtime errors. This change is versioned, and you must update your Visualforcecomponents and the pages that contain them to API version 27.0 to enable the new behavior.

To make this component compile under API version 27.0, change either the attribute name or the assignTovalue (which might require you to also change a controller method or property).

share|improve this answer
    
hmm, thanks for pointing out the right version ;). Am I missing something then, my assignTo name is invoice whereas the attribute name is iso? –  Phil Hawthorn Jan 16 '13 at 16:33
    
The problem is in the managed package component. They have something like this: <apex:attribute name="iso" type="string" assignTo="{!iso}" description="iso"/> –  Greg Grinberg Jan 16 '13 at 16:45
    
awesome, thanks –  Phil Hawthorn Jan 16 '13 at 16:56

Phil, in your case, until the managed package creators address the issue (which might be a challenge), you will need to assign your page an API version prior to 27.0.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.