ฟอร์มของ yii จะมีการแจ้งเตือนถ้าหากพบว่าข้อมูล input ที่เรากรอกใน form ไม่ถูกต้อง โดยจะทำกรอบอินพุต ป้าย label เป็นสีแดงและมีข้อความแสดงใน help-block เพิ่มขึ้นมา บางครั้งก็ทำให้ฟอร์มที่จัดไว้แน่นๆ ไม่ใช่แบบบรรทัดละกล่องข้อความตามแบบเว็บสมัยใหม่ เวลาเจอความผิดพลาด มันก็จะถีบตัวอื่นออกไป หรือดูอัดแน่นเกินไปจนดูไม่สวย
ก็สามารถเอาออกได้โดยใช้ form template เหมือนเดิม โดยยังสามารถทำ validation ได้ตามปกติ
วิธีการคือ
- เปิดไฟล์ _form.php ใน view เป้าหมาย
- เปลี่ยน
<?php $form = ActiveForm::begin(['id' => 'login-form']); ?>
เป็น
<?php $form = ActiveForm::begin([ 'fieldConfig' => [ 'template' => "{label}\n{input}\n{hint}" ], 'id' => 'login-form' ]); ?>
อย่าลืมเปลี่ยน id นะครับ
ถ้าใช้
use yii\bootstrap\ActiveForm;
ให้เปลี่ยน template เป็น
'template' => "{label}\n{beginWrapper}\n{input}\n{hint}\n{endWrapper}"
About the author