Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafaela Lee

O modelo não é do tipo número

Recommended Posts

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>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Claudia França
      Pessoal tudo bem ?
      Tenho o codigo e, preciso que quando um usuário clicar no link  e a nova página carregar, não mostre o que tem na url, mas o conteudo. 
      Pensei em um Js para criar essa máscara mas, até agora não deu certo com as funções que fiz. 
       
            <div id='50' class="tab_content-pag-bnt2">         <div class="bnt-area">              <a href="https://meudomínio.net/drive/s/bK7Xq8hW6kDWXYAdUaMUf26hZabh9T" target="_blank"  class="new-serverbtn-link" > <div class="new-serverbtn"> <div class="new-serverbtn-text">Acessar pasta de episódios</div> <div class="new-serverbtn-icon"><i class="fas fa-chevron-right"></i></div> </div> </a>
    • Por ro1961santana2009
      Estou precisando de ajuda. Está seguindo os arquivos em anexo. Tem como centralizar uma (MSG global), do PHP que vem da MODELS, que vai ser apresentada na VIEW.

      Estou Implementando o meu sistema com base no sistema do curso, ao modificar o layout da página de acesso estou enfrentando este problema de centralizar a mensagem que vem da MODELS, para a VIEW.



    • Por Air-Gear
      Olá, na parte de enviar eu conseguir, mas manter até terminar o cadastro eu não conseguir. Eu vou contar toda a história para ficar mais claro possível.
       
      Eu precisei implementar um Upload de qualquer imagem ou PDF na página de solicitar compras. O site utiliza AngularJS, a primeira versão do Angular. Eu tentei fazer sem depender de PHP, mas na internet achava só a parte de Front-End e ninguém sabia fazer no Back-End. Então eu resolvi fazer com PHP mesmo.
       
      Nó código PHP, ele aceita todos as extensões de imagens mais o PDF e é possível envia-los todos de uma vez na quantidade que quiser. Todos os arquivos serão renomeados, contendo no nome o ID do usuário logado pego pela função javascript, o dia do mês, o mês, o ano, o dia da semana, a hora, o minuto, o segundo, se é AM ou PM e uma numeração aleatório. O arquivo PDF vai continuar sendo PDF e todas as imagens serão JPG. No final, todos serão enviados para uma pasta chamada upload.
       
      Só que agora eu preciso jogar de volta para página para salvar os novos nomes dos arquivos para continuar o cadastro da solicitação de compras. Como AngularJS utiliza Javascript, eu tentei usa-lo dentro do PHP utilizando EOF, mas não tive resultado. Eu só consigo com HTML com as diretivas do AngularJS. Na parte do API, nos atributos, eu declarei "nomeArquivo: []," , para salvar os nomes dos arquivos.
       
      Seguem o código.
      <div class="row"> <div class="col-sm-12 col-md-6 "> <div class="upload_form_cont"> <form id="upload_form" enctype="multipart/form-data" method="post" action="/profile-upload"> <div> <div><label for="image_file">Selecione o arquivo de imagem</label></div> <div><input type="file" name="image_file" id="image_file" accept="image/*" onchange="fileSelected();" /></div> </div> <div> <input type="button" value="Upload" onclick="startUploading()" /> </div> <div id="fileinfo"> <div id="filename"></div> <div id="filesize"></div> <div id="filetype"></div> <div id="filedim"></div> </div> <div id="error">Você deve selecionar apenas arquivos de imagem válidos!</div> <div id="error2">Ocorreu um erro ao enviar o arquivo</div> <div id="abort">O upload foi cancelado pelo usuário ou o navegador interrompeu a conexão</div> <div id="warnsize">Seu arquivo é muito grande. Não podemos aceitar isso. Selecione arquivos pequenos</div> <div id="progress_info"> <div id="progress"></div> <div id="progress_percent">&nbsp;</div> <div class="clear_both"></div> <div> <div id="speed">&nbsp;</div> <div id="remaining">&nbsp;</div> <div id="b_transfered">&nbsp;</div> <div class="clear_both"></div> </div> <div id="upload_response"></div> </div> </form> </div> </div> </div> upload.php
      <?php function bytesToSize1024($bytes, $precision = 2) { $unit = array('B','KB','MB'); return @round($bytes / pow(1024, ($i = floor(log($bytes, 1024)))), $precision).' '.$unit[$i]; } //Pega o id do usuário logado $id_url = $_GET['id']; // Numero de campos de upload $numeroCampos = count($_FILES['image_file']['name']); // Tamanho máximo do arquivo (em bytes) $tamanhoMaximo = 1024*1024*2; // Extensões aceitas $extensoes = array(".jpg", "jpeg", ".gif", ".png", ".pdf", ".bmp", ".pdf", ".tiff"); //Local da pasta $_UP['pasta'] = '../upload/'; $substituir = false; for ($i = 0; $i < $numeroCampos; $i++) { // Informações do arquivo enviado $sFileName = $_FILES['image_file']['name'][$i]; $sSize = $_FILES['image_file']['size'][$i]; $sFileSize = bytesToSize1024($sSize, 1); $nomeTemporario = $_FILES['image_file']['tmp_name'][$i]; // Verifica se o arquivo foi colocado no campo if (!empty($sFileName)) { $erro = false; // Verifica se o tamanho do arquivo é maior que o permitido if ($sSize > $tamanhoMaximo) { $erro = "O arquivo " . $sFileName . " não deve ultrapassar " . $tamanhoMaximo. " bytes"; } // Verifica se a extensão está entre as aceitas elseif (!in_array(strrchr($sFileName, "."), $extensoes)) { $erro = "A extensão do arquivo <b>" . $sFileName . "</b> não é válida"; } // Verifica se o arquivo existe e se é para substituir elseif (file_exists($_UP['pasta'] . $sFileName) and !$substituir) { $erro = "O arquivo <b>" . $sFileName . "</b> já existe"; } else{ //Pega a extensão do arquivo $TipoExtensao = pathinfo($sFileName, PATHINFO_EXTENSION); // O arquivo passou em todas as verificações, hora de tentar movê-lo para a pasta // Primeiro verifica se deve trocar o nome do arquivo $unixTime = time(); $timeZone = new \DateTimeZone('America/Sao_Paulo'); $time = new \DateTime(); $time->setTimestamp($unixTime)->setTimezone($timeZone); $formattedTime = $time->format('d-m-Y_l_h-i-s-a'); $aleatorio = rand(); if($TipoExtensao == 'pdf'){ $nome_final = $id_url .'_'. $formattedTime .'_'. $aleatorio .'.pdf'; }else{ $nome_final = $id_url .'_'. $formattedTime .'_'. $aleatorio .'.jpg'; } // Depois verifica se é possível mover o arquivo para a pasta escolhida if (move_uploaded_file($nomeTemporario, $_UP['pasta'] . $nome_final)) { // Upload efetuado com sucesso, exibe uma mensagem e um link para o arquivo echo "Upload do arquivo ".$sFileName." foi efetuado com sucesso!"; echo "</br>"; echo<<<EOF <p>Eu tentei implementar o retorno da página aqui!</p> <p></br></p> <p></br></p> EOF; } else { // Não foi possível fazer o upload, provavelmente a pasta está incorreta echo "Não foi possível enviar o arquivo, tente novamente"; echo "</br>"; } } } else { echo "Selecione algum arquivo de imagem ou PDF para fazero upload."; } } ?>  
    • Por Manoel Cicero
      bom, estou utilizando um programa que transforma ppt em html5. coloco o arquivo gerado em minha hospedagem, testo, funciona perfeitamente no pc ou notebook, até aí tudo bem!
      mas quando testo no smartphone ai complica!
      o desenvolvedor me indicou limpar o cache, mas, mesmo assim não funciona e o pior de tudo é que, se isso não funcionasse apenas no meu smartphone não seria problema. o problema é que ja testei em alguns outros e o problema se mantem. alguem poderia me ajudar?
      link de teste: http://www.biodidata.com.br/teste/revis.html
      no PC - tudo ok!
      No smartphone --> na imagem que surgir vá em "click para iniciar", em seguida clique na pergunta 2 - a página para!
      limpar o cache não funciona e não queria alterar qualquer coisa no smartphone porque não seria legal para o meu publico fazer alterações no seu celular só pra ver uma coisa que disponibilizo.
      agradeço!
    • Por Juan Carlos PT
      Olá, eu quero poder pegar um vídeo do meu canal na Nimo TV e deixar ele em sites parceiros para fortalecer a minha divulgação. Só que não consigo capturar o código <video></video> do html5 do site na Nimo TV. Eles não mostram o formato do vídeo:
       

      Se alguém souber me ajudar, terei enorme gratidão!
       
      OBS: Perdão se alguém postou algo parecido aqui no site, não vi!

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.