<p dir="auto">Hello,</p>
<p dir="auto">I am using the preferred_choices option for the first time and i am seeing that preferred choices are not duplicated in the main list.</p>
<p dir="auto">I think it can cause trouble with users witch not pay attention that there are a preferred list or when default value witch is not in the preferred list is already selected (User will search alphabetically and maybe will not look to the top of the list).</p>
<p dir="auto">Is there a way to repeat preferred values in main list ?<br>
Maybe it should be the default symfony behavior ?</p>
<p dir="auto">I've done several Symfony projects beyond version 2.7.* in which I've used the <code class="notranslate">ChoiceType</code> form element by setting the <code class="notranslate">choices</code> option to an array using the convention <code class="notranslate">value =&gt; label</code>.</p>
<p dir="auto">However, I just noticed the convention has changed to <code class="notranslate">label =&gt; value</code>, via <a href="http://symfony.com/blog/new-in-symfony-2-7-choice-form-type-refactorization" rel="nofollow">http://symfony.com/blog/new-in-symfony-2-7-choice-form-type-refactorization</a> and <a href="http://symfony.com/doc/current/reference/forms/types/choice.html#choices" rel="nofollow">http://symfony.com/doc/current/reference/forms/types/choice.html#choices</a>.</p>
<p dir="auto">This change doesn't make sense to me. The convention has always been <code class="notranslate">value =&gt; label</code> anytime I've worked with a form APIs. This convention is intuitive with the uniqueness of array keys. It also mimics the <code class="notranslate">&lt;select&gt;</code> element.</p>
<p dir="auto">Flipping the convention, I see at least three issues:</p>
<ul dir="auto">
<li>potential to have duplicate values in a form selection (I can't think of a reason this is useful)</li>
<li>potential to lose a selection if two labels are equal (eg. a User selection where their names are labels)</li>
<li>everyone has to change their code and way of thinking to move forward with Symfony</li>
</ul>
<p dir="auto">Can someone elaborate as to why this drastic of a change needed to happen? If the <code class="notranslate">choices</code> <strong>really</strong> needed to be backwards, that could have been done internally without affecting convention.</p>