4
respostas

Format Razor Page para campo decimal

Salve, tudo bem?

Preciso de um exemplo de como formatar o decimal e gravar no SQL SERVER.

Tanto para o lado cliente quanto server.

        [Required]
        [Display(Name = "Valor")]
        //[DisplayFormat(DataFormatString = "{0:N}", ApplyFormatInEditMode = true)]
        //[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:0.00}")]
        [Column(TypeName = "decimal")]
        public decimal LanValor { get; set; }

Está retornando que o campo não é válido quando coloco virgula. (500,02)

"The field Valor must be a number."

Abaixo o código do .cshtml.

            <div class="form-group">
                <label asp-for="Lancamento.LanValor" class="control-label"></label>
                <input asp-for="Lancamento.LanValor" class="form-control" />
                <span asp-validation-for="Lancamento.LanValor" class="text-danger"></span>
            </div>

Fraternal abraço,

Haas

4 respostas

Tenta usar o ponto em vez da vírgula, pois esse é o jeito dos americanos usam números decimais. Se necessário substitua toda a vírgula por ponto na string antes de jogar pro SQL.

Salve, tudo bem?

Estou utilizando

        [Required]
        [Display(Name = "Valor")]
        [DisplayFormat(DataFormatString = "{0:N}", ApplyFormatInEditMode = true)]
        [DataType(DataType.Currency)]
        public decimal? LanValor { get; set; }

Exibe corretamente.

O problema é que na hora de gravar, não funciona.

Onde converto antes de enviar?

Fraternal abraço,

Haas

Salve, tudo bem?

Simplificando, estou precisando formatar um decimal numa page edit do Razor e gravar num banco sql server. Editar e validar a edição.

Como declaro e como salvo esse dado? Utilizando Razor Pages com Scaffold.

Fraternal abraço,

Haas

Eu entendi o problema mas não sei fazer em Razor Pages . Tá na minha lista de coisas para aprender. Vou buscar repassar seu tópico para alguém ajudar.