แก้ validation error ใน YII 2

แก้ validation error ใน YII 2

ฟอร์มของ yii จะมีการแจ้งเตือนถ้าหากพบว่าข้อมูล input ที่เรากรอกใน form ไม่ถูกต้อง โดยจะทำกรอบอินพุต ป้าย label เป็นสีแดงและมีข้อความแสดงใน help-block เพิ่มขึ้นมา บางครั้งก็ทำให้ฟอร์มที่จัดไว้แน่นๆ ไม่ใช่แบบบรรทัดละกล่องข้อความตามแบบเว็บสมัยใหม่ เวลาเจอความผิดพลาด มันก็จะถีบตัวอื่นออกไป หรือดูอัดแน่นเกินไปจนดูไม่สวย

ก็สามารถเอาออกได้โดยใช้ form template เหมือนเดิม โดยยังสามารถทำ validation ได้ตามปกติ

วิธีการคือ

  1. เปิดไฟล์ _form.php ใน view เป้าหมาย
  2. เปลี่ยน
    [code language=”php”]
    <?php $form = ActiveForm::begin([‘id’ => ‘login-form’]); ?>
    [/code]เป็น
    [code language=”php”]
    <?php $form = ActiveForm::begin([
    ‘fieldConfig’ => [
    ‘template’ => "{label}\n{input}\n{hint}"
    ],
    ‘id’ => ‘login-form’
    ]); ?>
    [/code]

อย่าลืมเปลี่ยน id นะครับ

ถ้าใช้[code language=”php”]use yii\bootstrap\ActiveForm;[/code]ให้เปลี่ยน template เป็น[code language=”php”]’template’ => "{label}\n{beginWrapper}\n{input}\n{hint}\n{endWrapper}"[/code]

About the author

phunsanit administrator

Leave a Reply