formatter decimalseparator

Buen dia, agregue en web.php en mi configuracion para que me tome el separador de miles como "." y el separador de decimales como ",", pero por alguna razon en mis formularios sigue validando usando un punto como separador de decimal

por ejemplo si ingreso un "22,5" me dice numero invalido, y no si ingreso "22.5"

web.php





 'components' => [

.....

  'formatter' => [

            'class' => 'yii\i18n\formatter',

            'thousandSeparator' => '.',

            'decimalSeparator' => ',',

        ],

.....



Modelo.php




.......


         [['AlicuotaHabitual'], 'number'],

........



_form.php




......

'AlicuotaHabitual' => ['type' => Form::INPUT_TEXT, 'options' => ['placeholder' => 'Enter Alicuota Habitual...', 'maxlength' => 6]],

.......



que me esta faltando? muchas gracias.

Supongo que en el modelo habrás puesto un validador de tipo "numerical". Si es así, por defecot el patrón para comprobar un número solo admite punto(https://github.com/yiisoft/yii/blob/1.1.16/framework/validators/CNumberValidator.php#L67). Puedes pasárle un parámetro al validador que se llame numberPattern, y que valide los números con coma en lugar de con punto:




array('quantity','numerical',

    'numberPattern'=>'/^\s*[-+]?[0-9]*,?[0-9]+([eE][-+]?[0-9]+)?\s*$/')