Pular para o conteúdo principal

Atributo number e MaskedInput no Yii2 aceitando valores 0,0 sem dar erro na validação

Pode colocar na rules() do Model o 'number'.


E na view:


$form->field($insc, $input['campo'])

->widget(MaskedInput::class, [

    'options' => [

        'class' => 'form-control nota_entrevista input-lg text-center',

        'style' => 'text-align: center;',

        'maxlength' => '3',

        'required' => true,

        'type' => 'tel',

        'data-maximo' => $input['maximo'],

        'data-dimensao' => $input['nome'],

    ],

    'clientOptions' => [

        'alias' => 'numeric',

        'digits' => 1, // 1 casa decimal

        'radixPoint' => ',', // separador decimal brasileiro

        'groupSeparator' => '', // sem separador de milhar

        'autoGroup' => false,

        'digitsOptional' => false,

        'placeholder' => '0',

        'inputmode' => 'numeric',

        'allowMinus' => false,

        'integerOptional' => false,

        'autoUnmask' => true,

        'clearMaskOnLostFocus' => false,

        'unmaskAsNumber' => true,

//                                            'onBeforeMask' => new \yii\web\JsExpression('function (value, opts) {

//                                                if (typeof value === "number") {

//                                                    return value.toFixed(1).replace(".", ",");

//                                                }

//                                                return value;

//                                            }'),

        'numericInput' => true, // INSERÇÃO DA DIREITA PARA A ESQUERDA

        'removeMaskOnSubmit' => true, // (opcional, envia como número no backend)

    ],

])

Comentários

Postagens mais visitadas deste blog

Configurando o XDebug com Docker e PHPStorm em um projeto Yii2 Advanced

Este passo a passo é bem chato de fazer no início! A imagem do docker já deve ter o xdebug instalado! A configuração vai no php.ini que vamos montar.

Instalando Docker

Remover versões antigas: sudo apt-get remove docker docker-engine docker.io containerd runc