Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola, sou iniciante em angularJS. Estou com problemas no campo CPF, ele da a seguinte mensagem quando termino de preencher os dados:
angular.js:14516 Error: [ngModel:numfmt] Expected 87576771909 to be a number
http://errors.angularjs.org/1.6.3/ngModel/numfmt?p0=87576771909
E se eu coloco type="number" da esse erro assim que entro na página sem digitar nada:
angular.js:14516 DOMException: Failed to read the 'selectionStart' property from 'HTMLInputElement': The input element's type ('number') does not support selection.
O que pode ser?
<div class="col-md-2">
<!-- CPF -->
<div class="form-group" ng-class="{ 'has-error' : buscaMovimentacaoFormulario.txtCpf.$invalid && buscaMovimentacaoFormulario.txtCpf.$touched, 'has-success' : buscaMovimentacaoFormulario.txtCpf.$valid && buscaMovimentacaoFormulario.txtCpf.$touched }">
<label class="control-label" for="txtCpf">
<i ng-show="buscaMovimentacaoFormulario.txtCpf.$invalid && buscaMovimentacaoFormulario.txtCpf.$touched" class="fa fa-times-circle-o"></i>
<i ng-show="buscaMovimentacaoFormulario.txtCpf.$valid && buscaMovimentacaoFormulario.txtCpf.$touched" class="fa fa-check"></i>
<span translate="texto.txtCpf"></span>
</label>
<input ng-model="vm.pesquisa.cpf" ng-cpf id="txtCpf" name="txtCpf" type="text" class="form-control" ui-mask="999.999.999-99" ui-mask-placeholder ui-mask-placeholder-char="_" />
<div ng-messages="buscaMovimentacaoFormulario.txtCpf.$error" ng-show="buscaMovimentacaoFormulario.txtCpf.$touched">
<span class="help-block" ng-message="cpf" translate="validacao.vldCpfInvalido"></span>
</div>
</div>Coloquei type="tel", o erro continua ao digitar:
Error: [ngModel:numfmt] Expected 87576771909 to be a number
http://errors.angularjs.org/1.6.3/ngModel/numfmt?p0=87576771909
Eu acredito que o erro seja por causa da mascara do campo e o tipo do seu dado, no caso o valor do input que você está enviando vai ser uma String por causa da mascara, mas no seu model o tipo desse dado deve estar como Number.
Talvez se você deixar o cpf no model como String ou tratar o dado esse input transformando ele em number sem a mascara deve te ajudar.
Boa sorte!
Obrigada Douglas.
>
4 minutos atrás, Rafaela Lee disse:
Obrigada Douglas.
Qualquer coisa só chamar ^^, mas deu certo? rsrs
>
Agora, Douglas Julião disse:
Qualquer coisa só chamar ^^, mas deu certo? rsrs
Sim, deu. Tinha esquecido que tinha colocado isso na controller.
Coloquei como String e deu certo.
A blz, que bom :D
o type number não é muito legal.. se você for ver, esse input é "para contadores", e não para números.
use type="tel", que vai te permitir um teclado numérico no mobile, e validar mais corretamente.