Anında Doğrulama Geri Bildirimi – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
Ana Formu Tıklanabilir Bir Hata İletisiyle Değiştirme
Farklı bir yaklaşım, doğrulama hataları ortaya çıkardığında formu gizlemek ve şekilde gösterildiği gibi forma geri bağlantı içeren bir uyarı mesajı göstermektir. Localhost’unuzda exampleHideForm.html dosyasını açarak örneği kendiniz görebilirsiniz.
send() yönteminde, ek bir liste öğesi eklemeniz ve errorLink özelliğiyle metin olarak bir bağlantı oluşturmanız gerekir. FlushErrors() yöntemini işaret eden bir tıklama işleyicisi uygularsınız, CSS sınıfını eklersiniz ve yeni liste öğesini errorList’e eklersiniz. Ana formu, stil görüntüleme özelliğini yok olarak ayarlayarak gizlersiniz (alternatif olarak, formu gizlemek için dinamik bir CSS sınıfı ekleyebilirdiniz).
FlushErrors() mesajının artık formun display özelliğini blok olarak ayarlaması ve tüm değişikliklerin gerekli olduğunu ve betiğin geri kalanının olduğu gibi kaldığını belirtmesi gerekiyor.
Hatalı Alanları Tek Tek Vurgulama
Özellikle daha büyük formlarda, hata mesajlarının doğrudan hata içeren alanların yanında gösterilmesi çok daha mantıklıdır. Bunun neye benzediğini gösterir ve localhost’unuzda exampleErrorFields.html dosyasını açarak kendiniz görebilirsiniz.
Senaryo biraz farklıdır; send, flushErrors() ve checkValue() yöntemlerinin değişmesi gerekiyor ve hatanın oluştuğu yere hata mesajını ekleyen addErrorMessage() adlı yeni bir yönteme ihtiyacınız var.
checkValue() yöntemindeki değişiklikler, hatayı error dizisine eklemenin yanı sıra, parametre olarak öğe ve hata metniyle birlikte yeni addErrorMsg() yöntemini de çağırmanızdır.
addErrorMsg yöntemi, yeni bir SPAN öğesi oluşturur, onu biçimlendirilebilir kılmak için hata sınıfını ekler ve hata metnini bir metin düğümü olarak ekler. Ardından yeni SPAN’ı hatalı öğenin önüne ekler.
Bu değişiklikler, hataları gösteren tek bir yeni öğe olmadığı, ancak her hatalı alanda bir tane olduğu anlamına gelir. Bu, flushErrors() yönteminin tüm zorunlu alanlar arasında döngü yapması ve SPAN olan ve kendisine doğru sınıfın uygulandığı önceki bir kardeş düğüm olup olmadığını kontrol etmesi gerektiği anlamına gelir. Tüm bunlar doğruysa, o düğümü kaldırır.
Anında Doğrulama Geri Bildirimi
Yukarıdaki örneklerin tümü, formun ne zaman gönderildiğini doğrular; bu, önceki bölümlerde belirtildiği gibi, formları doğrulamanın en erişilebilir yoludur. Ancak, gönderim sırasında hala doğrulama yapıyorsanız, formları biraz daha etkileşimli hale getirmenin zararı olmaz. Kullanıcı hatalarını anlar ve bunları hemen düzeltirse, gönderim doğrulaması zaten herhangi bir hatayı tetiklemeyecektir.
exampleDynamicFields.html demosu, alanları değiştirdikten hemen sonra doğrular ve yerel ana makinenizde açarak test edebilirsiniz.
Formdaki gönderme işleyicisine ek olarak, tüm zorunlu alanlar arasında dolaşmanız ve olay dinleyicisi olarak sendField()’i işaret eden alana bir bulanıklık işleyicisi eklemeniz gerekir. Kullanıcı alanı terk ettiğinde değil, yalnızca alanı değiştirdiğinde geri bildirim almak istiyorsanız, bir değişiklik işleyicisi de kullanabilirsiniz.
sendField() yönteminin, geçerli öğeyi getTarget() aracılığıyla alması gerekir. Ardından, flushErrors()’un yaptığı gibi zaten görünür olabilecek herhangi bir hata mesajını kaldırır ve parametre olarak öğenin kimliğiyle checkValue()’yi çağırır. Hepsi bu kadar.
Yedek kodlarımı kaybettim
Gmail telefon doğrulama atlama
Gmail doğrulama kodu
Google kimlik doğrulayıcı
Google Hesap doğrulama
2 Adımlı doğrulama kodu gelmiyor
e-posta adresi doğrulama
Benim İşletmem
Diğer Dinamik Doğrulama Yöntemleri
Kullanıcı değiştirdiğinde her alanın hemen doğrulanmasını sağlamak çok caziptir ve Ajax ve uygun arka uç veri kümeleri veya işlevleriyle çok şey yapabilirsiniz.
Harika bir örnek, bir form girerken hangi verilerin geçerli olduğuna dair öneriler eklemektir. Google Suggest, bunu yapan ilk web form örneklerinden biriydi. Size, diğer kullanıcıların zaten yapmış olduğu aramaları, gösterildiği gibi olası sonuç sayısıyla sunar.
Bu şekilde önerilerde bulunmak zor değildir ve bir öneri formu öğesi oluşturmak için önceki bölümlerdeki bilgileri kullanabilirsiniz. Demo exampleContact Recommend.html tam da bunu yapar. Kişi adlarını içeren bir XML dosyasını okumak için Ajax’ı kullanır ve bunları kullanıcının yazarken girdiği bilgilerle karşılaştırır.
Gerçek hayattan bir örnekte, her ismin etrafına bir iletişim öğesi eklemek ve e-posta, dahili numara ve departman gibi diğer verileri eklemek isteyebilirsiniz. Komut dosyası, son bölümde gördüğünüz XHR’yi bazı normal ifadelerle karıştırarak kullanır.
DOM desteğini ve kimlik kişisine sahip bir alan olup olmadığını test edersiniz. Her ikisi de verilmişse, yeni bir SPAN öğesi oluşturursunuz ve bunu, kimlik kontağının bulunduğu alandan sonra eklersiniz. keyup’a check() olay dinleyici yöntemini tetikleyen bir olay işleyici eklersiniz.
Bu yöntem hangi tuşa basıldığını bulur ve Backspace (8) olduğunda geri döner. Kullanıcı aşağı ok tuşuna (40) basarsa, SPAN içeriğinden boşlukla başlayan ve parantez içinde biten her şeyi kaldırır ve form alanına kopyalar.
Ardından SPAN’ın içeriğini siler ve geri döner. Kullanıcı başka bir tuşa basarsa, check() yöntemi, yüklenecek URI olarak contact.xml ile doxhr() yöntemini çağırır.
Alınan yöntem, bir şeyin iletişim alanının değeriyle başlayıp başlamadığını test eden normal bir ifade oluşturur. ResponseXML’den contact.xml içeriğini okur, getElementsByTagName() kullanarak tüm adları alır ve bunlar arasında döngü yapar. İsimlerden herhangi biri kalıpla eşleşirse, adın metin içeriğini ve ardından “(kopyalamak için imleç aşağı)” mesajını SPAN’a yazar ve döngüyü durdurur.
Bir hata varsa kullanıcı uyarı ile bilgilendirilir. Pencere belgeyi yüklemeyi bitirdiğinde, cs.init() yöntemi çağrılır.
Az sayıda kişi için XHR’yi kullanmak muhtemelen çabaya değmez ve verileri JSON biçiminde içe aktarmanız ve kullanıcı bir tuşa her bastığında sunucu gidiş dönüşlerinden kendinizi kurtarmanız daha iyi olur. Ancak bu örnek, doğru kişiyi almak için bir veritabanı da kullanabilir.
Sonuç
Umarım bu bölümden sonra kendi form doğrulama komut dosyalarınızı ve normal ifadelerinizi yazmak konusunda kendinize oldukça güvenirsiniz. Bunu yapmak o kadar zor değil, ancak daha önce de belirtildiği gibi, doğrulamayı hafife almak veya çok fazla veri olduğunu varsaymak çok kolaydır.
Form doğrulama, teknik bir konu olduğu kadar bir kullanılabilirlik sorunudur. Validasyon yöntemlerinizin uğraştığınız teknik ortamda mantıklı olduğundan ve çözümün ürünün yönetmeliklerine uygun olduğundan emin olmalısınız.
Bugünlerde birçok çevrimiçi form, erişilebilirlik yönergelerine ve hatta bazen ısmarlama düzenlemelere (örneğin, yerel yönetim sitelerinde çalışırken) uymak zorundadır. Doğrulama mekanizmanız, kullanıcının formu görmesini veya fare kullanmasını gerektiriyorsa, bu yönergeleri yerine getiremezsiniz.
Bugünlerde web sitelerinde en modern yaklaşımı kullanmak ve her şeyi dinamik hale getirmek çok cazip. Ulaşmak istediğiniz kitlenin kısıtlamalarının ve kullanım kalıplarının farkında olun ve her şeyin JavaScript olmadan çalıştığından emin olun, hem müşterilerinizi hem de kendinizi mutlu edersiniz.
Bir sonraki bölümde, daha büyük bir projeyi üstleneceğiz ve arka uç tarafından desteklenen ve CSS, JavaScript ve Ajax ile renklendirilmiş dinamik bir resim galerisi oluşturacağız.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)