yii2
Yii2 ActiveForm
खोज…
फॉर्म फ़ील्ड्स Yii2 में
नए शिक्षार्थियों के लिए Yii2 में दृश्य पृष्ठ का मूल उदाहरण दिखा रहा है
ये मूल वर्ग हैं जिन्हें आपको yii2 ActiveForm का उपयोग करके फ़ॉर्म बनाने के लिए जोड़ना होगा
<?php
Use yii\helpers\Html;
Use yii\widgets\ActiveForm;
नीचे की रेखा हमारे फॉर्म के लिए फ़ॉर्म टैग को शुरू करेगी नीचे उदाहरण दिखाते हुए दिखाया गया है कि फॉर्म के लिए आईडी कैसे निर्दिष्ट करें और फॉर्म में किसी भी वर्ग को कैसे लागू करें ..
$form =ActiveForm::begin([ 'id'=> 'login-form', 'options'=> ['class' => 'form-horizontal'],]) ?>
यहां $ मॉडल निर्दिष्ट करें कि हम किस डेटाबेस तालिका क्षेत्र को उस मॉडल ऑब्जेक्ट के रूप में इस चर में यहां संग्रहीत करना चाहते हैं जो संबंधित नियंत्रक से पारित हो गया है।
<?= $form->field($model, 'username') ?>
<?= $form->field($model, 'password')->passwordInput() ?>
'उपयोगकर्ता नाम' और 'पासवर्ड' टेबल फ़ील्ड का नाम है जिसके साथ हमारा मूल्य बाध्य होगा।
यहां नीचे दिए गए कोड में हम फॉर्म सबमिट करने के लिए सबमिट बटन डाल रहे हैं और 'लॉगिन' को बटन टेक्स्ट और मूल सीएसएस कक्षाओं के रूप में लागू कर रहे हैं।
<div class="form-group">
<div class="col-lg-offset-1 col-lg-11">
<?= Html::submitButton('Login', ['class' => 'btn btn-primary']) ?>
</div>
</div>
यहाँ नीचे कोड में हम फॉर्म को बंद कर रहे हैं
<?php ActiveForm::end() ?>
पासवर्ड फ़ील्ड बनाएँ:
<?= $form->field($model, 'password')->passwordInput() ?>
TextField बनाएँ:
<?= $form->field($model, 'username') ?>
हिडन फॉर्म फील्ड बनाएँ:
echo $form->field($model, 'hidden1')->hiddenInput()->label(false);
ड्रॉपडाउन बनाएं:
<?php echo $form->field($model, 'name')
->dropdownList(
Stud::find()->select(['name'])
->indexBy('name')->column(),
['prompt'=>'Select no']); ?>
आईडी और नाम के साथ ड्रॉपडाउन सूची
<?= $form->field($model, 'name')->dropDownList(
ArrayHelper::map(Stud::find()->all(), 'no', 'name'),['prompt' => 'Select Car Name']
) ?>
FileUploader बनाएँ:
echo $form->field($model, 'imagepath')->fileInput();
एक प्लेसहोल्डर और अनुकूलित लेबल जोड़ना
<?= $form->field($model, 'username')->textInput()->hint('Please enter your name')->label('Name') ?>
ActiveForm मान्यताओं
आप सक्रिय रूप में अजाक्स और क्लाइंट सत्यापन को सक्षम / अक्षम कर सकते हैं।
$form = ActiveForm::begin([
'id' => 'signup-form',
'enableClientValidation' => true,
'enableAjaxValidation' => true,
'validationUrl' => Url::to('signup'),
]);
-
enableClientValidation
में सक्षम डिफ़ॉल्ट रूप से enableClientValidation है। यदि आपको प्रपत्र में क्लाइंट सत्यापन की आवश्यकता नहीं है, तो हम असत्य के रूप में असाइन करके अक्षम कर सकते हैं। -
enableAjaxValidation
में डिफ़ॉल्ट रूप से अक्षम करके enableAjaxValidation है। यदि आप इसे सक्षम करना चाहते हैं तो हमें उपर्युक्त की तरह ActiveForm में मैन्युअल रूप से जोड़ना होगा। -
validationUrl
- आप सभी मान्यता इस फार्म के लिए अलग नियंत्रक कार्रवाई में कोडिंग रखना चाहते हैं हम प्रयोग कर activeform कॉन्फ़िगर कर सकते हैंvalidationUrl
। यदि हमने इसे सेट नहीं किया है, तो यह फ़ॉर्म की कार्रवाई मान लेगा।
उपरोक्त दो तर्क पूरे फॉर्म के लिए प्रभावित करेंगे। यदि आप किसी विशेष क्षेत्र के लिए ajax सत्यापन की जाँच करना चाहते हैं तो आप उस विशेष क्षेत्र के लिए enableAjaxValidation
जोड़ सकते हैं। यह केवल उस क्षेत्र के लिए काम करेगा न कि पूरे फॉर्म के लिए।
उदाहरण के लिए पंजीकरण फॉर्म में आप उपयोगकर्ता नाम की जांच करना चाहते हैं जो पहले से ही उपयोगकर्ता के समय पर सत्यापन के रूप में मौजूद है। आप उस फ़ील्ड के लिए इस enableAjaxValidation
तर्क का उपयोग कर सकते हैं।
echo $form->field($model, 'username', ['enableAjaxValidation' => true]);