Codeigniter表单验证 - 单独显示错误问题

时间:2016-09-27 04:36:29

标签: php html css codeigniter

我的表单在表中,我尝试在输入空间旁边写入表单验证的错误消息。 (我把它放在第三栏)

问题是form_error()函数,它在表中的行之间产生更多的行高。我应该怎么做?因为如果我使用CSS,它将使"之前出现错误消息' line-height"错误。我是否需要编写if-else之前的按钮提交情况?

<table>
        <tr>
            <td>Username : </td>
            <td><input type="text" name="username" value="<?php echo set_value('username'); ?>"/></td>
            <?php
            if($this->input->post("btn") == null)
            {
                echo "<td><span style='font-size: 10px;color:red'>ขั้นต่ำ 6 ตัวอักษร</span></td>";
            }
            else
            {
                echo "<td><span style='font-size:10px;color:red;'>" . form_error('username') ."</span></td>";
            }
            ?>
        </tr> 
        <tr>
            <td>Password : </td>
            <td><input type="password" name="pass" value=""/></td>
            <?php
            if($this->input->post("btn") == null)
            {
                echo "<td><span style='font-size: 10px;color:red'>ขั้นต่ำ 6 ตัวอักษร</span></td>";
            }
            else
            {
                echo "<td><span style='font-size:10px;color:red;'>" . form_error('pass') ."</span></td>";
            }
            ?>
        </tr>
        <tr>
            <td>ยืนยัน Password : </td>
            <td><input type="password" name="pass_confirm" value=""/></td>
            <td><span style="font-size:10px;color:red;"><?php echo form_error('pass_confirm');?></span></td>
        </tr>
        <tr>
            <td>Email : </td>
            <td><input type="text" name="email" value="<?php echo set_value('email'); ?>"/></td>
            <td><span style="font-size:10px;color:red;"><?php echo form_error('email');?></span></td>
        </tr>
        <tr>
        <td colspan="2"><span style="font-size: 10px;color:red;">กรุณากรอกเบอร์มือถือ เพื่อรับ Code ยืนยันการสมัคร (ตัวอย่างเบอร์มือถือ 08xxxxxxxx)</span></td>
        </tr>
        <tr>
            <td>เบอร์มือถือ : </td>
            <td><input type="text" name="phone" value="<?php echo set_value('phone'); ?>"/></td>
            <td><span style="font-size:10px;color:red;"><?php echo form_error('phone');?></span></td>
        </tr>
        <tr>
            <td>กรอกรหัสภาพ :</td>
            <td>    
                <?php echo $captcha['image']; ?>
                <br>
                <input type="text" autocomplete="off" name="userCaptcha" placeholder="Enter above text" value="<?php if(!empty($userCaptcha)){ echo $userCaptcha;} ?>" />
                <?php echo form_error('userCaptcha','<p style="font-size:10px;color:red">','</p>'); ?>
            </td>

        </tr>
    </table>

1 个答案:

答案 0 :(得分:1)

您可以在一个地方为所有错误加载错误分隔符,在相关控制器的功能中,无需单独定义它们,

您可以控制错误消息的高度和样式

$this->form_validation->set_error_delimiters('<span style="font-size: 10px;color:red">', '</span>');

并且无需使用&#39; if-else&#39;在&#39;形式错误&#39;所以使用

 <tr>
     <td>Username : </td>
     <td><input type="text" name="username" value="<?php echo set_value('username'); ?>"/>
        <?php
           // if there is validation error, it shows here
          echo form_error('username');
        ?>
   </td>
  </tr>