tr-TR Culture tabanlı bir sistemde jQuery Validation ile NumericTextbox lar üzerinden ondalıklı sayı (double veya decimal) almak istediğinizde ayırma işlemini virgül ile yapmaya çalışırsanız input validation’a takılıyor ve sayfanın post etmesini engelliyor. Eğer virgül yerine nokta kullanırsanız bu sefer post işlemi gerçekleşiyor ancak tr-TR culture yapısına uygun olmadığından değeriniz 0 (sıfır) olarak gelebiliyor.
Aşağıdaki jQuery kodunu jQuery Validation dosyasıdan sonra eklerseniz sorununuz çözülecektir.
[javascript]
jQuery.extend(jQuery.validator.methods, {
number: function (value, element) {
return this.optional(element)
|| /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:[,.]\d+)?$/.test(value);
}
});
[/javascript]
6 yorum
Hocam çok teşekkürler işe yaradı.
2 gündür bu sorunun çözümünü arıyordum,çok teşekkürler..Fluent validation, input mask ve decimal veri tipi kullanarak para formatında sıkıntı yaşıyordum.sayenizde çözdüm..
Client tarafında başarılı şekilde valid oluyor fakat ModelState invalid..
Teşekkürler, bu iyi geldi…
Teşekkürler, aramadığım yer kalmamıştı. ASP.Net Core MVC projesinde decimal property belirtmeme rağmen invalid data number hatası alıyordum, düzeldi.
Süpersin kardeşim, hiç bir yerde bulamadım, sende buldum.