» » » » DLE form validation (form doldurma zorunluluğu getirme)

DLE form validation (form doldurma zorunluluğu getirme)

marika
marika 30-08-2014, 13:39
DLE'nin kayıt sayfasındaki ilk aşamadaki bölümler doldurulmadığında uyarı penceresi çıkmaktadır.

DLE form validation (form doldurma zorunluluğu getirme)

Bu sayfa doldurulduktan sonra gelen sayfadaki bilgilerin doldurulma zorunluluğu yoktur DLE'de. Bu ikinci sayfada (userinfo.tpl içindeki [validation] [/validation] tagları arasında yer alan bölüm) çıkacak bilgilerin doldurulması için alttakileri yapınız.

DLE form validation (form doldurma zorunluluğu getirme)

1. adım
engine/modules/register.php deki en altında yer alan

$tpl->copy_template = "<form  method=\"post\" name=\"registration\" enctype=\"multipart/form-data\" action=\"\">\n"


ifadesini alttaki ile değiştiriniz.

$tpl->copy_template = "<form  method=\"post\" name=\"registration\" onsubmit=\"if (!check_reg_daten()) {return false;};\" enctype=\"multipart/form-data\" action=\"\">\n"



2. adım

tema klasörünüzdeki registration.tpl dosyasının içinde değişiklikler yapacağız.

a) Mesela şehir bölümünün doldurulmadığında uyarı penceresi çıkması içine registration.tpl dosyasının en altına

<script language='javascript' type="text/javascript">
<!--

function check_reg_daten () {

	if(document.forms.registration.land.value == '') {

		DLEalert('"Şehir" bölümünü doldurmadınız', dle_info);return false;

	}

return true;

};
//-->


3. adım
Aynı uyarının kullanıcı profilini düzenlemeye girdiğinde zorunlu doldurma yaptırtmak için alttakileri yapınız.

engine/modules/profile.php deki yer alan

$tpl->copy_template = "<form  method=\"post\" name=\"userinfo\" id=\"userinfo\" enctype=\"multipart/form-data\" action=\"{$link_profile}\">"


ifadeyi bulup alttaki ile değiştiriniz.

$tpl->copy_template = "<form  method=\"post\" name=\"userinfo\" id=\"userinfo\" onsubmit=\"if (!check_reg_daten()) {return false;};\" enctype=\"multipart/form-data\" action=\"{$link_profile}\">"


4. adım tema klasörünüzdeki useinfo.tpl dosyasını açıp en altına

<script language='javascript' type="text/javascript">
<!--

function check_reg_daten () {

	if(document.forms.userinfo.land.value == '') {

		DLEalert('"Şehir" bölümünü doldurmadınız', dle_info);return false;

	}

return true;

};
//-->
</script>


Kayıt ve profil sayfalarında (name="land") Şehir bölümünü dolruma zorunluluğu getirmiş olduk.

Üye kayıt sayfasından ilk aşamadan sonra ikinci aşamada sayfayı kapatttığında bu alanlar doldurulmaz. Üye profilinde bir değişiklik yapmak istiyorsa profil düzenleme bölümüne girdiğinde Şehir bölümünü mutlaka doldurması gerekir.

Ama iki aşamada doldurulmayabilir diyorsanız registration.tpl içinde [validation][/validation] kodları arasındaki

 <input type="text" name="land" value="" class="form-control" placeholder="İliniz">


kodunu registration.tpl içinde [registration][/registration] etiketileri arasına taşımalısınız.

Eğer "Kullanıcı Profili İlave Alanı" oluşturduysanız ve bunun zorunlu olarak doldurulmasını istiyorsanız yukarıdakine benzer işlemler yapmalısınız.
Bilgilendirme
Yorum Ekleyebilmeniz için Sitemize Kayıt Olmanız Gerekmektedir.
0
marika 30 Ağustos 2014 19:10
Bana lazımdı. Yapabilince, mutlaka lazım olanlar olur diye paylaştım.

* Kayıtta veya profil sayfasında, Profil ilave alanlarının kullanımında minik bir değişiklik gerekiyor. Onu da talep eden olursa ayrıntısını yazayım. Ama yukarıdakilerden ufak 2 değişiklik var.
3 779
MaRZoCHi 30 Ağustos 2014 18:21
@marika, Gerçekten yararlı bilgiler. Kesin ihtiyaç duyan ve duyacak birileri vardır. Teşekkürler.

--------------------
0
marika 30 Ağustos 2014 14:32
Farklı alanların zorunlu doldurulması için javascript kod içinde şöyle bir değişiklik yapmak gerekiyor.

Örneğin, "Hakkında bilgi" bölümünü zorunlu doldurtmak istiyorsanız registration.tpl dosyalasına
registration.land.value


yerine

registration.info.value
eklemeli,

userinfo.tpl dosyasına ise

userinfo.land.value


yerine

userinfo.info.value
eklemelisiniz.