jQuery Validation Ondalıklı Sayı (Double) Sorunu

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.

Okumaya devam…

Telerik MVC DatePicker ve Jquery Validation Uyumsuzluğu

Telerik MVC Kendo UI DatePicker ile Jquery Validation kullandığınız da eğer ilgili input’ a default (varsayılan) bir değer atıyorsanız Jquery Validation bunu algılamıyor ve hata fırlatıyor.

Aşağıdaki kodu layout (master) sayfanıza ekleyerek tüm projenizde bu sorundan kurtulabilirsiniz.


<script type="text/javascript">

// Kendo UI ile Jquery Validation arasında yaşanan sorunu çözer.
// Ör: DatePicker default value atanmasına rağmen boş görmesi...
$(document).ready(function () {

jQuery.validator.addMethod(
'date',
function (value, element, params) {
if (this.optional(element)) {
return true;
};
var result = false;
try {
var date = kendo.parseDate(value, "dd.MM.yyyy");
result = true;
if (!date) {
result = false;
}
} catch (err) {
result = false;
}
return result;
},
''
);
});
</script>

C# Tuple Nedir ? Nasıl Kullanılır ?

.NET Framework 4.0 ile gelen Tuple ile bir method üzerinden birden fazla değer döndürmemiz sağlanıyor. Aslında bu işlem Tuple öncesinde de out parametresini kullanarak veya içerisinde birden fazla değer barındıran bir model kullanılarak da yapılabiliyordu.

Peki Tuple kullanmanın avantajı ne ?

Bana göre en büyük avantajı basit bir şekilde (ayrı bir model veya taşıyıcı kullanmadan) birden fazla değer döndürmek istediğinizde size hız kazandırması.

Kullanımıyla ilgili kısa bir örnek göstereceğim.

Okumaya devam…

Web Sitelerinizi Farklı Çözünürlüklerde Test Edin

google resizer

Bir web sitesi veya web uygulaması geliştirirken yaşanılan en büyük sorunlardan bir tanesi uygulamamızı farklı ekran çözünürlüklerine göre uyarlamak oluyor. Günümüz de yeni yapılan web sitelerinin veya uygulamaların neredeyse tamamı responsive olarak hazırlandığından yayına çıkmadan önce kapsamlı bir test işleminden geçmesi gerekiyor.

Okumaya devam…

Div içerisinde Pencerenin Scroll İşlemini Engellemek

Konu başlığı çok saçma oldu ama başka nasıl açıklayabilirim bilemedim :)

Bir div veya bir alan içerisinde scroll (kaydırma) işlemi yapılırken sayfanın scroll olması (kayması) bazen sinir bozucu olabiliyor.

Aşağıdaki kodu sayfanıza ekledikten sonra sayfa scroll’unu engellemek istediğiniz div veya başka html elemanına block-window-scroll class’ını vermeniz yeterli olacaktır.


$('.block-window-scroll').bind('mousewheel DOMMouseScroll', function (e) {
var e0 = e.originalEvent,
delta = e0.wheelDelta || -e0.detail;

this.scrollTop += ( delta < 0 ? 1 : -1 ) * 30;
e.preventDefault();
});

Fluent Validation (.NET Validation İşlemleri)

İster web, ister mobil bir uygulama yazalım, geliştirdiğimiz uygulama yüzlerce hatta binlerce kişi tarafından kullanılabilir. Özellikle bu kullanıcı kitlesi içerisinde kötü niyetli kişilerin de olabileceğini düşünürsek kullanıcılardan aldığımız verilerin doğruluğu bizim açımızdan büyük önem arz etmektedir. jQuery Validation veya alternatif javascript kütüphaneleri ile bu sorunun önüne geçsek dahi bu doğrulamalar Javascript tabanlı yapıldığından tam güvenlik sağlayamazlar. Uygulamamıza dışarıdan  (get-post vb.) talep gelebileceğinden veya Javascript kapatılabileceğinden client-side olarak yapılan hiç bir doğrulama yöntemine güvenemeyiz.

Okumaya devam…

C# Birden Fazla Karakter ile Split Kullanımı

Blog için yazmaya değer görmediğim ancak sürekli karşıma çıkan ve bir yerlerden kopyala – yapıştır yapmak zorunda kaldığım bu kodu hem kendim daha sonra bulabileyim diye hem de sitemi ziyaret eden kişilere lazım olabilir diye paylaşıyorum.

Hiç bilmeyenler için Split’i açıklamak gerekirse elimde Elma, Armut, Muz” şeklinde bir string metin var diyelim. Bunu virgül ile Split yaptığımda metin içerisindeki virgülleri yok edip geri kalan Elma, Armut ve Muz’u bana bir dizi içerisinde döndürecektir. Detaylar için msdn sayfası: https://msdn.microsoft.com/en-us/library/b873y76a(v=vs.110).aspx

C# da kullanılan split işlemi tek bir karaktere izin veriyor ve normal kullanımda birden fazla karakter ile yani bir metin ile split yapamıyoruz. Aslında yapabiliyoruz ama çoğumuz kullanımını bilmiyoruz :)

Okumaya devam…

Yandex Metrica API Kullanımı

yandex_metrica

Yandex Metrica, Google Analytics benzeri web sitelerimiz / uygulamalarımız için istatistik sağlayan ücretsiz bir servistir. Kullanımı ve özellikleri bakımından Google Analytics’den eksik yanı olmamasıyla birlikte kullanıcıların site üzerinde neler yaptığını video şeklinde bize sunması gibi ek özellikleri de vardır.

API işlemine geçmeden önce sitemizi Yandex Metrica’ya eklememiz ve verilen kodu sitemize eklememiz gerekiyor. Bu adımlar çok basit ve Google Analytics ile aynı yapıda olduğundan bu adımları atlıyorum ve Metrica’yı sitenize entegre ettiğinizi düşünerek yazıya devam ediyorum.

Yandex API servisine erişebilmemiz için bize iki şey lazım. Birincisi uygulamıza/web sitemize ait bir Application ID, bir diğeri ise bu uygulamaya erişebilmek için güvenlik kodumuz yani token kodu.

Okumaya devam…

Asp.Net Https Yönlendirme

http-https

Global.asax dosyasında yapacağımız ufak bir değişiklik ile http gelen tüm istekleri zorunlu olarak https’e yönlendirebiliriz.

Bunun için aşağıdaki kod bloğunu Global.asax dosyamızın Application_BeginRequest eventine yazmamız yeterli olacaktır.

Okumaya devam…

ADO.NET Kullanışlı Fonksiyonlar

adonet

Yerini Entity Framework’e bıraksa da küçük çaplı projelerde halen severek kullanmaya devam ettiğim veri erişim sağlayıcısıdır kendileri..

Bir gün Ado.Net ile yazılım geliştirirken Insert, Update ve Delete işlemleri için her seferinde sql sorgusu yazmanın ve bu sorgulara tek tek AddWithValue işlemi yaparak parametre göndermenin benim için aslında ne kadar çok zaman kaybettirdiğini fark ettim ve bu süreyi kısaltmanın çözümlerini aradım. Ayrıca yazdığım Sql sorgularında da dikkatsizlik nedeniyle yazım hataları olabiliyordu.

Çözüm olarak Insert, Update ve Delete işlemleri için üç farklı method geliştirdim. Bu methodlar hem parametre ile gönderim yaparak hız ve güvenli sağlayacak hem de sql sorgularını kendi oluşturarak hata yapma olasılığını sıfırlayacaktı.

Okumaya devam…