Form Kütüphanesi


    × Bunları biliyor muydunuz?
"Başlangıç dosya ve kontrolcüleri üzerinden tüm kontrolcü ve görünümlere veri gönderilebilir."


Form nesnelerini sınıf formuna getirerek gerek görünüm gerekse de kontrolcü içerisinde kullandırmayı amaçlar. Nesne zincirlemesi ile istenilen özellik değer çiftleri kolaylıkla eklenebilmektedir. Özellikle veritabanı ile doğrudan ilişkili çalışabilir olması standart form kullanımına göre büyük kolaylık ve avantaj sağlar. Ayrıca DB::, Validation:: ve Permission:: kütüphaneleri ile entegreli çalışır.

 

 

# Kurulum


ZN SE ve ZN CE dağıtımları için terminal kurulum komutu.

↓ composer require znframework/package-hypertext

 

 

# Yöntemler


1.0.0 String open(String $name = NULL, Array $attr = [])
1.0.0 String close(Void)
1.0.0 String text(String $name = NULL, String $value = NULL, Array $attr = [])
1.0.0 String password(String $name = NULL, String $value = NULL, Array $attr = [])
1.0.0 String textarea(String $name = NULL, String $value = NULL, Array $attr = [])
1.0.0 String submit(String $name = NULL, String $value = NULL, Array $attr = [])
1.0.0 String reset(String $name = NULL, String $value = NULL, Array $attr = [])
1.0.0 String button(String $name = NULL, String $value = NULL, Array $attr = [])
1.0.0 String radio(String $name = NULL, String $value = NULL, Array $attr = [])
1.0.0 String checkbox(String $name = NULL, String $value = NULL, Array $attr = [])
1.0.0 String select(String $name = NULL, Array $options, String $selectedKey = NULL, Array $attr = [])
1.0.0 String multiselect(String $name = NULL, Array $options, String $selectedKey = NULL, Array $attr = [])
1.0.0 String file(String $name = NULL, Bool $multiupload = false, Array $attr = [])
5.8.6.6 String __toString(Void)
4.0.0 This postback(Bool $postback = true, String $type = 'post')
5.4.2 This validate(Mixed ...$rules)
5.8.2.2 String vMethod(Mixed ...$parameters)
5.8.4.1 This serializer(String $uri, Mixed $callback, Mixed $datatype = 'standart')
5.8.4.1 This trigger(String $event, String $uri, Mixed $callback, Mixed $datatype = 'standart')
5.8.4.1 This modal(String $modalId)
5.8.4.1 String modalbox(String $modalId)
5.8.5 This group(Mixed ...$parameters)
5.8.5 This label(Mixed ...$parameters)
5.8.5 This col(String $size)
5.8.5 This helptext(String $content, String $class = '')
5.8.5.3 This popover(String $placement, String $content)
5.8.5.3 This tooltip(String $placement, $content = NULL, Bool $html = NULL)

 

 

# HTML5 Nesneleri


Tüm HTML5 nesnelerinden form nesnelerinin kullanımı aynı yapıda olduğu için aşağıda html5InputName yerine HTML5 ile gelen form nesnelerinin adı yazılarak kullanılabilir. 

String html5InputName(String $name = NULL, String $value = NULL, Array $attr = [])

 

 

# Özellikler


Tüm form nesneleri için geçerli tüm HTML özellikleri bir yöntemle kullanılabilir.

Form::id('example')->style('red:color')-> - - -

Yukarıda kullanılan id(), style() gibi yöntemler input nesnesinin özellik değer çiftini oluşturan yapıları belirlemek için kullanılır. Bu kullanım tüm form nesneleri için ortaktır. Her Form:: nesnesi kendi parametreleri dışında bu opsiyonel yöntemler ile de parametre kullanımlarını sağlayabilir. Eğer özellik birden fazla kelime ve aralarında tire(-) içeren bir yapıda ise bu özellik yöntem olarak camelCase yani exampleElement() formunda kullanılır.

Parametreler
String $value NULL Varsa özelliğin değeri.
return This  
Kullanımlar
@Form::required()->placeholder('Name Please')->id('name')->text('name')
Tire Ayraçlı Kullanımlar

Eğer form özellikleriniz data-validation gibi - ile ayrılan bir özellikse camelCase standartında yazmanız gerekir.

@Form::dataValidation('required')->myId(1)->textarea('name', 'Value')
<textarea data-validation="required" my-id="1" name="name">Value</textarea>

 

 

# Open (ZN >= 1.0.0)


Html <form> kullanımının karşılığıdır.

Parametreler
String $name NULL Nesne ismi.
Array  $attr [] Özellikler.
return String  
Kullanımı
@Form::action('home')->method('get')->open('example-form')
<form name="example-form" method="get" action="https://www.example.xxx/home">
Opsiyonel Yöntemler
3.0.1 This enctype(String $type)
4.3.6 This csrf(Void)
5.4.2 This where(String $column, Scalar $value, String $logical = 'and')
5.4.2 This query(String $query)
5.4.2 This process(String $process)
5.8.0.8 This duplicateCheck(...$columns = '*')
5.8.4.4 This prevent(Void)
# Enctype (ZN >= 3.0.1)

Form nesnesinin enctype değerini ayarlamak için kullanılır. Özellikle dosya yükleme işlemlerinde bu değerin kullanılması gerekmektedir.

Parametreler

String $type

NULL

Tür.

multipart - application - text

return

This

Kullanımı
@Form::enctype('multipart')->open('upload-form')
# CSRF (ZN >= 4.3.6)

CSRF ataklarını engellemek için token datası oluşturur.

Parametreler
Void
return This
Kullanımı
@Form::csrf()->open('form')
# Where (ZN >= 5.4.2)

Form'a tablo kayıtını bağlamak için kullanılır. DB::where() kullanımı ile aynıdır. Bu yöntemle doğrudan istenilen tablonun istenilen koşula göre ilgili kayıtın bağlanmasını sağlayabilirsiniz. Tablo adı olarak form nesnesinin name değeri kullanılır.

Parametreler
String $column NULL Kolon adı.
String $value NULL Kolon değeri.
String $logical and and - or Bağlaç.
return This
Kullanımı
@Form::where('id', URI::get('id'))->open('accounts')
Form Nesneleri

Tablo tanımlamasından sonra diğer form nesneleri kayıttan gelen değeri otomatik alır. İstisna olarak checkbox, radio butonlar ve select nesnesinin kullanımı farklıdır.

Radio Buton

Radio butonların seçili olabilmesi için verilen değerin gelen kayıttaki değer ile eşleşmesi gerekmektedir.

Male  /: @Form::radio('gender', 1)
Female/: @Form::radio('gender', 2)

Yukarıdaki tanımlamada gender kolonuna ait değer hangisi ile eşleşirse o buton seçili hale gelir.

Checkbox Buton

Checkbox butonların seçili olabilmesi için verilen değerin gelen kayıttaki değer ile eşleşmesi gerekmektedir. Ancak genellikle checkbox değerleri [1,2,5,10] gibi json formunda saklanır. Json çözümlemesi otomatik olarak yapılarak ilgili butonlar seçilir.

@Form::checkbox('colors', 1)
@Form::checkbox('colors', 2)
@Form::checkbox('colors', 5)
@Form::checkbox('colors', 20)

Yukarıdaki butonlardan hangileri eşleşirse o butonlar seçili hale gelir.

Select List

Select nesnesinin seçili gelebilmesi için değerlerinin tanımlanmış olması gerekmektedir.

Gender/: @Form::select('gender', [1 => 'Male', 2 => 'Female'])

Yukarıdaki tanımlamada gender kolonuna ait değer hangisi ile eşleşirse o değer seçili hale gelir.

# Query (ZN >= 5.4.2)

Eğer kompleks sorguları tabloya bağlamak isterseniz bu yöntemden istifade edebilirsiniz. DB::query() yönteminin kullanımı ile aynıdır.

Parametreler
String $query NULL Sorgu.
return This
Kullanımı
Form::query(DB::string()->where('id', URI::get('id'))->accounts())->open('accounts')
# Process (ZN >= 5.4.2)

Form'un güncellenme ve ekleme işlemini otomatik olarak yaptırabilmeniz içindir.

Parametreler
String $process NULL insert - update İşlem türü.
return This
Kullanımı
@Form::where('id', 1)->process('update')->open('users')
@Form::postback()->validate('required', 'xss')->text('name')
@Form::postback()->validate('email', 'required')->text('email')
@Form::select('gender', [1 => 'Male', 2 => 'Female'])
@Form::validate('required')->textarea('about')
@Form::submit('submit', 'Submit')
@Form::close()
@Form::validateErrorMessage()
Validasyon Hata Mesajını Yakalamak

Submit sonrası oluşan validasyon hatasını yakalamak için aşağıdaki 2 yöntemden yararlanılır.

Form::validateErrorMessage()
Form::validateErrorArray()
Uyarı: Bu yöntemlerin değer üretebilmesi için process() yönteminin kullanılıyor olması gerekmektedir.
# DuplicateCheck (ZN >= 5.8.0.8)

Form::process('insert') yöntemi ile birlikte kullanılır. Insert işlemi sırasında aynı verinin tekrar kayıt edilmesini engeller. DB::duplicateCheck() yönteminin kullanımıdır.

Parametreler
String String ...$columns = '*' Kontrol edilecek kolonlar. Bu parametrenin boş bırakılması durumunda tüm ID dışındaki tüm kolonlar kontrol edilir.
return This
Kullanımı
@Form::duplicateCheck('message', 'subject')->process('insert')->open('accounts')
# Prevent (ZN >= 5.8.4.4)

Form'un submit buton ile sayfa yenilenmesini önlemek için kullanılır. Yani bir Form::submit() nesnesi ile formun post edilmesi durumunda sayfanın  yenilenmesini engellemek için kullanılır. Özellikle Form::submit() ile ajax gönderimleri yapmak istenildiğinizde kullanabilirsiniz.

Parametreler
Void
return This
Kullanımı
@Form::prevent()->open('accounts')
@Form::vRequired()->text('name')
@Form::submit('send', 'SEND')
@Form::close()

 

 

# Close (ZN >= 1.0.0)


Html </form> kullanımının karşılığıdır.

Parametreler
Void
return String
Kullanımlar
@Form::close()
</form>

 

 

# Text (ZN >= 1.0.0)


Html <form input="text"> kullanımının karşılığıdır.

Parametreler
String $name NULL Nesne ismi.
String $value NULL Değer.
Array $attr [] Özellikler.
return  String
Kullanımlar
{{ Form::id('example-text')
         ->maxlength(10)
         ->text('textBox', 'Welcome!') }}
<input type="text" name="textBox" value="Welcome!" id="example-text" maxlength="10">

 

 

# Password (ZN >= 1.0.0)


Html <form input="password"> kullanımının karşılığıdır.

Parametreler
String $name NULL Nesne ismi.
String $value NULL Değer.
Array $attr [] Özellikler.
return  String
Kullanımlar
@Form::password('password', '  *', ['maxlength' => 10])
<input type="password" maxlength="10" name="password" value=" *"> 

 

 

# Textarea (ZN >= 1.0.0)


Html <textarea> kullanımının karşılığıdır.

Parametreler
String $name NULL Nesne ismi.
String $value NULL Değer.
Array $attr [] Özellikler.
return  String
Kullanımlar
@Form::cols(50)->rows(5)->textarea('address', 'Address')
<textarea cols="50" rows="5" name="address">Address</textarea>

 

 

# Submit (ZN >= 1.0.0)


Html <form input="submit"> kullanımının karşılığıdır.

Parametreler
String $name NULL Nesne ismi.
String $value NULL Değer.
Array $attr [] Özellikler.
return  String
Örnekler
@Form::submit('sendSubmit', 'Send')
<input type="submit" name="sendSubmit" value="Send">

 

 

# Reset (ZN >= 1.0.0)


Html <form input="reset"> kullanımının karşılığıdır.

Parametreler
String $name NULL Nesne ismi.
String $value NULL Değer.
Array $attr [] Özellikler.
return  String
Örnekler
@Form::reset('clear', 'Clear')
<input type="reset" name="clear" value="Clear">

 

 

# Button (ZN >= 1.0.0)


Html <form input="submit"> kullanımının karşılığıdır.

Parametreler
String $name NULL Nesne ismi.
String $value NULL Değer.
Array $attr [] Özellikler.
return  String
Örnekler
@Form::button('sendButton', 'Send')
<input type="button" name="sendButton" value="Send">

 

 

# Radio (ZN >= 1.0.0)


Html <form input="radio"> kullanımının karşılığıdır.

Parametreler
String $name NULL Nesne ismi.
String $value NULL Değer.
Array $attr [] Özellikler.
return  String
Örnekler
@Form::checked()->radio('gender', 'Female')
@Form::radio('gender', 'Male')
<input type="radio" name="gender" value="Female" checked="checked">
<input type="radio" name="gender" value="Male">

 

 

# Checkbox (ZN >= 1.0.0)


Html <form input="checkbox"> kullanımının karşılığıdır.

Parametreler
String $name NULL Nesne ismi.
String $value NULL Değer.
Array $attr [] Özellikler.
return  String
Örnekler
@Form::checked()->checkbox('trueType', 'true')
@Form::checkbox('trueType', 'false')
<input type="checkbox" name="trueType" value="true" checked="checked">
<input type="checkbox" name="trueType" value="false">

 

 

# Select / Multiselect (ZN >= 1.0.0)


Html <select> kullanımının karşılığıdır.

Parametreler
String $name NULL Nesne ismi.
Array $options [] Seçenekler.
String $selectedKey NULL Seçili anahtar.
Array $attr [] Özellikler.
return  String
Opsiyonel Yöntemler
This table(String $table)
This query(String $query)
This including(Mixed $data)
This excluding(Mixed $data)
This order(String $type = 'desc', String $flags = 'regular')
This option(Mixed $key, String $value = NULL)
Kullanımlar
$options = [ '34' => 'Istanbul', '19' => 'Corum' ];

echo Form::select('cities', $options, '19');
<select name="cities">
    <option value="34" >Istanbul</option>
    <option value="19" selected="selected">Corum</option>
</select>

v.3.0.1 sürümü ve sonrasında seçenekleri doğrudan veritabanından çekmek isterseniz table() veya query() yöntemlerinden yararlanabilirsiniz.

echo Form::table('accounts')
         ->select('accountList', ['keyColumn' => 'valueColumn']);

İlk eleman için varsayılan anahtar değer tanımlaması yapmak isterseniz aşağıdaki gibi kullanabilirsiniz.

echo Form::table('accounts')->select('accountList',
[
//  'keyColumn'  => 'valueColumn'
    'id'         => 'name',
//  'defaultKey' => 'defaultValue'
    '0'          => 'Musteri seciniz'
]);

Ya da

$query = DB::string()->accounts();

echo Form::query($query)->select('accountList', ['id' => 'name']);

v.3.1.0 sürümünde seçeneklerde görüntülenmesini istediğiniz veya istemediğiniz öğreleri including() ve excluding() yöntemlerini kullanarak belirleyebilirsiniz.

Including
echo Form::including([2, 3])
         ->select('cityList',
         [
             1 => 'Istanbul', 
             2 => 'Londra', 
             3 => 'Paris'
         ]); 

// output: Londra, Paris
Excluding
echo Form::excluding([2, 3])
         ->select('cityList',
         [
             1 => 'Istanbul',
             2 => 'Londra',
             3 => 'Paris'
         ]); 

// output: İstanbul

 

 

# File (ZN >= 1.0.0)


Html <form input="file"> kullanımının karşılığıdır.

Parametreler
String $name NULL Nesne ismi.
Bool $multiple false Çoku dosya yüklemesi yapılabilsin mi? Bu değerin true ayarlanması durumuda dosya seçim penceresinde birden fazla dosya aynı anda seçilebilir.
Array $attr [] Özellikler.
return  String
Örnekler
@Form::file('upload')
<input type="file" name="upload">
Çoklu Dosya Yükleme

Çoklu upload yapılmak istendiğinde ise aşağıdaki gibi bir kullanım mümkündür.

@Form::file('upload', true)
<input type="file" name="upload[]" multiple="multiple">

 

 

# __toString (ZN >= 5.8.6.6)


Form yöntemlerini sıralı olarak kullanabilmenizi sağlar.

Parametreler
Void
return String
Kullanımlar
@style('bootstrap')

@container
    @row
        @Form::open('contact')
             ->group()->label('name', 'Name:')->text('name')
             ->group()->label('subject', 'Subject:')->text('subject')
             ->group()->label('message', 'Message:')->textarea('message')
             ->close()
    @endrow
@endcontainer

@script('jquery', 'bootstrap')

Yukarıdaki kullanımda dikkat edilirse form nesneleri her defasında Form:: deyimi kullanılmayarak zincirleme bir kullanım oluşturulmuştur..

 

 

# Postback (ZN >= 4.0.0)


Form submit edildiğinde form öğelerinin son değerinin korunmasını sağlamak için kullanılır.

Parametreler
Bool $postback true Değerler korunsun mu? False olması durumunda değerler korunmaz.
String $type post post - get - request Formun method türü belirtilmişse bu değer formun mevcut method türüne göre değer alır.
return This
Kullanımlar
@Form::postback()->text('name')

 

 

# Validate (ZN >= 5.4.2)


Validation::rules() yönteminin görevini üstlenir. Farklı olarak kuralları form nesnesi ile birlikte kullanabilmenizi sağlar.

Parametreler
Mixed ...$args NULL Kurallar dizisi.
return This
Kullanımlar
@Form::validate('required', 'xss', ['minchar' => 10])->text('name')
Takma İsim

Takma isim validasyon kontrolünün başarısızlığı durumunda dönen metinde form nesnesi isminin nasıl görüntüleneceğini ayarlarmak için kullanılır.

@Form::validate('required', 'xss', ['minchar' => 10])->alias('Name:')->text('name')
Kuralların Kontrolü

Form nesnesi üzerinden gönderilen kurallar Controller ayağında Validation::check($submitName) yöntemi ile kontrol edilmesi gerekmektedir.

Dosya: Views/home/main.wizard.php
@Form::open()

{{ Form::postback()
       ->validate('email', 'required')
       ->alias('Email/:')
       ->text('email') }}

@Form::submit('submit', 'Submit')

@Form::close()

{{$error ?? NULL}}
Dosya: Controllers/home.php
<?php namespace Project\Controllers;

use Validation, Post;

class Home extends Controller
{
    public function main()
    {
        if( ! Validation::check('submit') )
        {
            View::error(Validation::error('string'));
        }
    }
}

 

 

# vMethod (ZN >= 5.8.2.8)


Html ile ZN Framework'ün validasyon yöntemlerinin harmanlanmış halidir. Kullanıcıya daha kısa sürede geri bildirim sağlaması açısından html'nin validasyonu devreye girerken arkaplanda ZN'nin validasyonu devreye girer. Standart olarak bu yöntemler v harfi ile başlar. İşlev olarak ZN validasyon yöntemleri gibidir.

Yöntemler
5.8.2.8 This vNumeric(Void)  Sayısal karakter kontrol.
5.8.2.8 This vAlpha(Void) Alfabetik karakter kontrolü.
5.8.2.8 This vAlnum(Void) Alfabetik veya sayısal karakter
5.8.2.8 This vEmail(Void) E-posta kontrolü.
5.8.2.8 This vUrl(Void) URL kontrolü.
5.8.2.8 This vRequired(Void) Boş kontrolü.
5.8.2.8 This
vLimit(Int $min = 0, Int $max = NULL)
Alt ve üst karakter sınır kontrolü.
5.8.2.8 This vMinchar(Int $min = 0) Alt karakter sınır kontrolü.
5.8.2.8 This vMaxchar(Int $max = 0) Üst karakter sınıf kontrolü.
5.8.2.8 This
vBetween(Int $min = 0, Int $max = 0)
Sayı aralık kontrolü.
5.8.2.8 This vCaptcha(Void) ZN captcha kontrolü.
5.8.2.8 This vPhone(String $pattern = NULL) Telefon numarası kontrolü.
5.8.2.8 This vPattern(String $pattern) Belirtilen desene göre veri kontrolü.
5.8.2.8 This vIdentity(Void) Kimlik numarası kontrolü.
5.8.3.3 This
vMessage(String $message)
Geçersiz bilgi girişi durumunda gösterilmek istenen mesaj. Ön tanımlı olarak Validation:: kütüphanesinin mesajları gösterilir.

Kullanım

 Dosya: Views/Contact/main.wizard.php
@Form::open()
@Form::vMinchar(3)->text('name')
@Form::vEmail()->vMaxchar(100)->text('email')
@Form::vPhone('***-***-**-**')->text('phone')
@Form::vLimit(5, 200)->text('subject')
@Form::vMinchar(3)->vMessage('Bu alan en az 3 karakterli olmalıdır!')->textarea('message')
@Form::submit('send', 'SEND')
@Form::close()
Dosya: Controllers/Contact.php
<?php namespace Project\Controllers;

use Validation, DB;

class Home extends Controller
{
    public function main()
    {
        if( Validation::check('send') )
        {
            DB::duplicateCheck()->insert('post:tickets');
        }
    }
}

 

 

# Serializer (ZN >= 5.8.4.1)


Bir formun tüm verilerinin ajax ile bir kontrolcüye gönderilmesini sağlar. Genellikle Form::button() yöntemi ile kullanılır.

Ön Bilgiler

Veriler post yöntemi ile gönderilmektedir. Dolayısı ile değerlere Post::inputName() ile erişilir.
Ajax işleminin başarılı ile gerçekleştirilmesi durumunda dönen değer javascript'in data isimli değişkeninde saklanmaktadır.

Uyarı: Ajax gönderimi Jquery ile yapıldığı için bu javascript kütüphanesinin sisteme dahil edilmiş olması gerekmektedir.
Parametreler
String $uri Ajax isteğinin hangi kontrolcü yöntemine yapılacağıdır.
Mixed $callback Bir html nesnesinin seçiçi bilgisi veya ajax:success geri çağrım işlevi gibi kullanılabilir. 
Mixed $datatype = 'standart' Bu parametre veri türünü json formatında kabul edecek şekilde ayarlanabildiği gibi bir ajax'ın standart özellikleri dışında farklı bir özelliğin eklenmesi için kullanılabilir.
return This
Kullanımlar
Dosya: Views/Contact/main.wizard.php
@Form::open('contact-form')
@Form::text('name')
@Form::textarea('message')
@Form::serializer('Contact/ajaxSendForm', '#successDiv')->button('send', 'SEND')
@Form::close()

Yukarıda Contact/ajaxSendForm yöntemine ajax ile tüm formun verilerini gönderdik. Bu giden verileri işledikten sonra işlem sonucunu $('#successDiv').html(data) nesnesine yazdırdık. Giden veriler post yöntemi ile gönderilmektedir.

Not: 2. parametre'nin string değer alması durumunda ilgili html etiketinin içeriğine dönen değeri yazdırır.
Geriçağrım İşlevi

2. parametrenin {< kodlarınız >} biçiminde kullanımı ile yöntem içerisine doğrudan javascript yazabilmenizin önünü açıyor. Ajax işleminin success durumunda gelen veri data isimli javascript değişkeninde saklanmaktadır.

Dosya: Views/Contact/main.wizard.php
@Form::open('contact-form')
@Form::text('name')
@Form::textarea('message')
{{ 
    Form::serializer('Contact/ajaxSendForm', 
    {<
        if( data.success === true )
        {
            $('#successDiv').html('İşlem başarılı.');
        }
        else
        {
            $('#errorDiv').html('İşlem başarısız!');
        }
    >}, 'json')->button('send', 'SEND') 
}}
@Form::close()
Ajax Parametrelerini Genişletme

Ajax işlemine datatype dışında farklı parametreler de eklemek isterseniz 3. parametrenin dizi olarak gönderilmesi gerekmektedir.

@Form::open('contact-form')
@Form::text('name')
@Form::textarea('message')
@Form::serializer('Contact/ajaxSendForm', {< swal(data) >}, 
[
    'dataType' => 'json',
    'async'    => true
])->button('send', 'SEND')
@Form::close()

 

 

# Trigger (ZN >= 5.8.4.1)


Bir form nesnesinin değerinin ajax ile bir kontrolcüye gönderilmesini sağlar. Form::serializer() kullanımına çok benzer farklı olarak hangi olay ile tetikleneceğinin ayarlanabiliyor olmasıdır. Bunun dışında ajax ile sadece kendi değerini yollar. Bu kullanımından dolayı Form::text() vb. gibi form nesneleri ile kullanımı önerilir.

Ön Bilgiler

Form nesnesinin değeri post yöntemi ve kendi ismi ile gönderilir. Yani nesnenin değeri sunucu tarafında Post::inputName() ile alınır.
Ajax işleminin başarılı ile gerçekleştirilmesi durumunda dönen değer javascript'in data isimli değişkeninde saklanmaktadır.
Geriçağrım kullanımında ilgili nesnenin karşılığı javascript'in element isimli değişkeninde saklanmaktadır. Örn: $(element).val() gibi kullanım gerektiren durumlar için kullanabilirsiniz.

Parametreler
String $event Veri gönderme işleminin hangi olay türü ile tetikleneceğini belirtir.
String $uri Ajax isteğinin hangi kontrolcü yöntemine yapılacağıdır.
Mixed $callback Bir html nesnesinin seçiçi bilgisi veya ajax:success geri çağrım işlevi gibi kullanılabilir. 
Mixed $datatype = 'standart' Bu parametre veri türünü json formatında kabul edecek şekilde ayarlanabildiği gibi bir ajax'ın standart özellikleri dışında farklı bir özelliğin eklenmesi için kullanılabilir.
return This
Kullanımlar
Dosya: Views/Contact/main.wizard.php
@Form::open('contact-form')
{{ 
    Form::trigger('keyup', 'Validations/control', 
    {< 
        if(data === false) swal('Geçersiz girdi!'); 
    >})->text('name') 
}}
@Form::textarea('message')
@Form::serializer('Contact/ajaxSendForm', '#successDiv')->button('send', 'SEND')
@Form::close()

Diğer parametrelerin kullanımları Form::serializer() yöntemi ile aynıdır.

 

 

# Modal (ZN >= 5.8.4.1)


Bootstrap modalbox'ını modal id değerine göre açmak için kullanılır.

Uyarı: Bootstrap javascript kütüphanesinin sisteme dahil edilmiş olması gerekmektedir.
Parametreler
String $modalId Hangi id değerine sahip modalbox'un açılacağını belirler.
return This
Kullanımlar
@Form::modal('myModal')->button('openModal', 'Open Modal') 

 

 

# Modalbox (ZN >= 5.8.4.1)


Bootstrap modalbox'ı oluşturmak için kullanılır.

Uyarı: Bootstrap javascript kütüphanesinin sisteme dahil edilmiş olması gerekmektedir.
Parametreler
String $modalId Oluşturulan modalbox'un id değeri
return String
Kullanımlar
@Form::modal('myModal')->button('openModal', 'Open Modal') 
@Form::modalbox('myModal')
Opsiyonel Yöntemler
This modalHeader(String $content)
This modalBody(String $content)
This modalFooter(String $content)
This modalDismissButton(Bool $status = true)
@Form::modal('myModal')->button('openModal', 'Open Modal') 
@Form::modalHeader('Hi!')->modalBody('ZN Framework')->modalbox('myModal') 

 

 

# Group (ZN >= 5.8.5)


Bootstrap form nesnelerinin gruplanması için kullanılan elementine karşılık gelmektedir. 2 tür parametre dağılımı vardır.

Uyarı: Bootstrap javascript kütüphanesinin sisteme dahil edilmiş olması gerekmektedir.
Parametreler - Nesne
String $class = '' Grup div elementine css sınıfları uygulamak için kullanılır. Dahili olarak form-group sınıfı uygulanmaktadır.
return This
Parametreler - Kapsayıcı
Callable $code Gruplanacak form nesneleri içerisine yazılır.
String $class = '' Grup div elementine css sınıfları uygulamak için kullanılır. Dahili olarak form-group sınıfı uygulanmaktadır.
return This
Kullanımlar
@Form::group()->text('email') 
@Form::group()->password('pass') 
Kapsayıcı Kullanım

Birden fazla form nesnesinin aynı grup içerisinde yer alması için aşağıdaki gibi de kullanılmaktadır.

{{ 
    Form::group
    ({<
        @Form::text('email')
        @Form::password('pass')
    >}) 
}}

 

 

# Label (ZN >= 5.8.5)


Bootstrap form nesnelerine etiket eklemek için kullanılır. 2 tür parametre dağılımı vardır.

Uyarı: Bootstrap javascript kütüphanesinin sisteme dahil edilmiş olması gerekmektedir.
Parametreler - Text / Textarea / Select
String $for = NULL İlgili form nesnesi ile ilişkisini gösteren id değeri.
String $value = NULL Form nesnesinin yanında görünmesi istenilen yazı.
String $class = NULL İlgili label etiketine varsa css sınıfı uygulamak için kullanılır.
return This
Parametreler - Checkbox / Radio
String $value = NULL Form nesnesinin yanında görünmesi istenilen yazı.
String $class = NULL İlgili label etiketine varsa css sınıfı uygulamak için kullanılır.
return This
Kullanımlar
@Form::group()->label('email', 'E-posta:')->text('email') 
@Form::group()->label('pass', 'Şifre:')->password('pass')

Checkbox ve radio elementleri için kullanım aşağıdaki gibidir.

@Form::group()->label('Bay')->radio('gender')
@Form::group()->label('Bayan')->radio('gender')

 

 

# Col (ZN >= 5.8.5)


Bootstrap form nesnelerine sütun genişliği uygulamak için kullanılır.

Parametreler
String $size Genişlik değeri: Örn: sm-2
Return This  
Kullanımı
@Form::group()->label('email', 'Email:')->col('sm-4')->text('email')

 

 

# Helptext (ZN >= 5.8.5)


Bootstrap form nesnelerine yardım yazısı için kullanılır.

Parametreler
String $text Yazı.
String $class = '' Varsa eklenecek css sınıfı. Mevcut olarak help-block sınıfı uygulanır.
Return This  
Kullanımı
@Form::helptext('Bu bölüm e-posta alanıdır.')->
       group()->
       label('email', 'Email:')->col('sm-4')->
       text('email')

 

 

# Popover (ZN >= 5.8.5.3)


Bootstrap'ın popover bileşenin Form::button() veya Html::anchor() ile kullanılmasını sağlar. Kaynak dosyalarının nasıl dahil edilmesi gerektiği konusunda detaylar için tıklayınız

2 parametre dizilimi vardır. 1.si nesne oluşturmak için özellik olarak kullanılırken 2.si popover nesnesini aktif etmek için javascriptlerden sonra kullanılır.

Parametreler - Html
String $placement Popover'in butonun neresinde açılması gerektiği. Örn: right
Seçenekler right, left, top, bottom
String $content Popover ile açılan pencere içerisinde görünecek yazı.
Return This  
Parametreler -  Javascript
String $selector = 'all' Herhangi bir seçici belirtimez ise tüm popover nesneleri kabul edilir
Array $options Seçenekler ile ilgili detaylar için tıklayınız.
Return String  
Kullanımı
@style('css/bootstrap4.css')

@Form::class('btn btn-danger')->popover('right', 'ZN Framework')->button('name', 'NAME')

@script('jquery''js/bootstrap4.js''js/popper.min.js')

@Form::popover('all', ['delay' => 100])

Yukarıda kullanılan style ve script yolları örnek amaçlı kullanılmıştır.

Olay Yönetimi

Popover nesnesinin javascriptine olay eklemek için on() yöntemi kullanılır.

@Form::on('shown', 'alert(1)')->popover('all', ['delay' => 100])

Daha fazla olay türü için tıklayınız.

 

 

# Tooltip (ZN >= 5.8.5.3)


Kullanımı popover() yöntemi ile aynıdır. detaylar için tıklayınız