Saltar al contenido principal

 none
MVC 5 - Problemas con los números decimales (. y ,) y Fechas por jquery.validate.js RRS feed

  • Pregunta

  • Hola:

    Tengo en una vista un campo decimal. Si en la vista en el navegador le pongo ".", el navegador no da problemas, pero cuando hace "modelstate.isValdid" lo da como erroneo y si en el navegador le pongo ",", entonces me da erroneo y no deja guardar. Es decir ponga "." o "," no puedo guardar valores con decimales, ya que el navegador pone como buenos los que tienen "." y el sistema los que ponen ",".

    ¿Cómo puedo arreglar esto?.


    • Editado elturle martes, 1 de mayo de 2018 0:05 Cambio Título.
    domingo, 11 de febrero de 2018 18:59

Todas las respuestas

  • hola

    Esto tiene que ver con la configuracion de la cultura aplicad al sitio

    podrias definir

     

    basicamente seria definir

    <globalization uiCulture="es" culture="es-ES" />

    en el web.config

    para que tome la coma como separador decima

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Jorge TurradoMVP miércoles, 14 de febrero de 2018 14:17
    miércoles, 14 de febrero de 2018 13:52
  • hola puedes manejarlo con java script

    var nf = new Intl.NumberFormat(‘en-US’, {
      style: ‘currency’,
      currency: ‘USD’,
      minimumFractionDigits: 2,
      maximumFractionDigits: 2
    });
    nf.format(123456.789); // ‘$123,456.79’

    puedes observar que también maneja una especie de globalization pero en ingles USA que utiliza coma como miles, ya tienes que investigar que utilice punto como separador de miles, ah! también puedes quitar el currency para que no tengas problemas al grabar

    Fuente

    miércoles, 14 de febrero de 2018 14:39
  • Hola:

    He probado lo de globalization y me sigue haciendo lo mismo, en el navegador me toma como bueno "." decimal e interiormente me da error porque tiene como bueno la "," y si en el navegado le pongo "," me da directamente el error.

    Un Saludo.

    jueves, 15 de febrero de 2018 19:16
  • Hola:

    He estado investigando este problema y he visto que cuando valida al lado del servidor lo hace correctamente dependiendo del culture que se le haya puesto, pero cuando lo hace al lado del servidor solamente valida como si fuera culture en-Us, y he visto que esto lo hace mediente el jquery.validate.js que instala por defecto. Por lo que he podido ver este js no coge el valor de culture que se le indica en el web.config, por lo que siempre valida en ingles y por eso da problemas cuando nuestra validación es en español. Las validaciones que hacer es en función de las caracteríasticas que se  le marcan en el modelo a cada campo.

    Mi pregunta es: ¿se puede configurar este js para que coja la culture que hay en el web.config y valide según esta cultura?

    Y si no es posible: ¿Que otra jquery se puede utilizar para validar según la culture del web.config y que no de problemas como esta?

    Un Saludo y gracias.


    • Editado elturle martes, 1 de mayo de 2018 8:44 Añadir
    martes, 1 de mayo de 2018 0:04
  • Hola, he agregado <globalization uiCulture="es" culture="es-ES" /> al web.config, pero no  compila.

    HTTP Error 500.19 - Internal Server Error

    miércoles, 25 de septiembre de 2019 14:12