[Resolvido] Fatal error: Uncaught TypeError: Unsupported operand types: string * string

Fala pessoal, tudo bem?

tenho um evento valor_unitario_material onBlur, que faz o seguinte calculo
{valor_total_material} = {peso_material} * {valor_unitario_material};
o erro do string * string acontece se o valor unitario não é preenchido, vi noutro topico que se eu convertesse na frente do campo daria certo, porém gostaria de saber se não há outra forma.

os campos são no banco float, utilizo o banco postgres

Teste antes se for vazio mova zero.

1 Curtida

Fiz isso agora, tem como eu setar pra mesmo se o usuario tentar apagar tudo ele preencher com 0?

1 Curtida

Evento ajax onchange.
Não use Onblur.

1 Curtida

Olá, para realizar a validação de que, caso o usuário deixe o campo vazio, configure o valor como 0, aconselhamos utilizar o evento onChange, como informa o Haroldo.

Fiz o seguinte, coloquei como campo obrigatorio, também coloquei para valor minimo 0,01 já que é um campo decimal e coloquei o (float) na frente dos campos, ai ele não mostrou mais o fatal error e se o usuario apaga tudo e tenta clicar fora recebe o erro do campo obrigatorio, mudei para o onchange também, só que ai notei que se o valor unitario vem preenchido (isso pode ocorrer porque tem uma função pra buscar o valor unitario depois que eu seleciono determinado produto) ele não faz o calculo.

Exato. Quando você define a tipagem do campo, impede que outros valores sejam adicionados evitando o erro.