簡體   English   中英

在form_validation set_Rules codeigniter之后,網頁加載錯誤

[英]WEBPAGE loads wrong after form_validation set_Rules codeigniter

在set_rules之后,可以在form_validation中進行如下操作:

$this->form_validation->set_rules('empfact', 'Nome da Empresa','trim|required|xss_clean');

此操作會修改我的網頁布局嗎? 在任何情況下都有可能嗎?

因為我遇到問題,並且在執行此操作(set_rules)后出現問題。

問題是:提交表單和set_rules之后,我的網頁加載時頁面頂部的空白處的高度為+/- 10px。

加:執行此操作后,在IE中(僅在IE中),我的網頁加載時沒有圖像並且向左對齊。

有任何想法嗎?

表單控制器

<?php

class Form extends CI_Controller {

function __construct()
{
    parent::__construct();
}

function index()
{

    $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|matches[emailconf]|callback_value_email|xss_clean');
$this->form_validation->set_rules('emailconf', 'Confirmação de Email', 'trim|required|xss_clean');
    $this->form_validation->set_rules('passwd', 'Password', 'trim|required|matches[passconf]|xss_clean');
    $this->form_validation->set_rules('passconf', 'Password Confirmation', 'trim|required|xss_clean');
    $this->form_validation->set_rules('empfact', 'Nome da Empresa', 'trim|required|xss_clean');
    $this->form_validation->set_rules('contr', 'Nº Contribuinte', 'trim|required|xss_clean');
    $this->form_validation->set_rules('nome', 'Nome', 'trim|required|xss_clean');
    $this->form_validation->set_rules('apelido', 'Apelido', 'trim|required|xss_clean');
    $this->form_validation->set_rules('morada', 'Morada', 'trim|required|xss_clean');
    $this->form_validation->set_rules('codpostal', 'Código Postal', 'trim|required|xss_clean');
    $this->form_validation->set_rules('localidade', 'Localidade', 'trim|required|xss_clean');
    $this->form_validation->set_rules('telefone', 'Telefone', 'trim|required|xss_clean');
    $this->form_validation->set_rules('telemovel', 'Telemóvel', 'trim|required|xss_clean');
    if ($this->form_validation->run() == FALSE)
    {
        $this->load->view('header');
        $this->load->view('myform');
        $this->load->view('footer');
    }
    else
    {
        $this->load->view('header');
        $this->load->view('formsuccess');
        $this->load->view('footer');
    }
}

public function value_email($str)
{
    $this->load->model('carfinder_model');

    // Validate exists
    $result = $this->carfinder_model->confirmExistence('email', $str);

    // Now we verify the result
    if(! $result)
    {
            return TRUE;
        }
        else
        {
            $this->form_validation->set_message('value_email', 'O e-mail escolhido já está registado');
            return FALSE;
        }
    }   
}
?> 

myForm視圖

<!-- content -->
<section id="content">
<div class="wrapper">
    <div class="indent-bot-12">
        <h2 class="indent-bot-2">Registe-se agora no CarFinder-PRO.pt</h2>
        <ul class="list-box">
            <li>
                <h3 class="indent-bot-7">Para utilizar os serviços CarFinder-PRO.pt, é necessário registar-se. O registo permite-lhe aceder à listagem dos veículos, reservá-los e encomendá-los. O registo é rápido e gratuito.</h3>
                <p class="indent-bot-15">*O registo é exclusivo a comerciantes profissionais. Após o registo a sua conta só será ativada depois de passar o processo de validação. Todos os campos são de preenchimento obrigatório.</p>
            </li>
            <?php if(validation_errors())
            {
                echo '<li>';
                    echo '<div class="val-errors">';
                            echo '<div class="val-image">';
                                echo '<img src="../../images/stopp.png" alt="" />';
                            echo '</div>';
                            echo '<div class="val-text">';
                                echo validation_errors();
                            echo '</div>';
                    echo '</div>';
                echo '</li>';
            }?>
            <li>
                <?php echo form_open('form'); ?>
                <p class="indent-bot-15">*Dados de Acesso</p>


                    <b><label for="email"><?php if(form_error('email')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Email</label></b>
                    <input type="text" name="email" value="<?php if(! form_error('email')) { echo set_value('email'); } ?>" size="40" />
                    <br />

                    <b><label for="emailconf"><?php if(form_error('email')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Confirmar Email</label></b>
                    <input type="text" name="emailconf" value="<?php if(! form_error('email')) { echo set_value('emailconf'); } ?>" size="40" />
                    <br />
                    <!-- <h5>Username</h5>
                    <php echo form_error('username'); ?>
                    <input type="password" name="username" value="<php echo set_value('username'); ?>" onfocus='this.value="";' onblur='if (this.value=="") this.value = "E-mail:";' size="50" /> -->

                    <b><label for="passwd"><?php if(form_error('passwd')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Password</label></b>
                    <input type="password" name="passwd" value autocomplete="off" size="25" />
                    <br />

                    <b><label for="passconf"><?php if(form_error('passwd')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Confirmar Password</label></b>
                    <input type="password" name="passconf" value autocomplete="off" size="25" />
                    <br />
            </li>
            <li>
            <p class="indent-bot-15">*Dados Pessoais</p>
                    <b><label for="empfact"><?php if(form_error('empfact')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Nome da Empresa</label></b>
                    <input type="text" name="empfact" value="<?php if(! form_error('empfact')) { echo set_value('empfact'); } ?>" size="40" />
                    <br />

                    <b><label for="contr"><?php if(form_error('contr')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Nº Contribuinte</label></b>
                    <input type="text" name="contr" value="<?php if(! form_error('contr')) { echo set_value('contr'); } ?>" size="25" />
                    <br />

                    <b><label for="nome"><?php if(form_error('nome')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Nome</label></b>
                    <input type="text" name="nome" value="<?php if(! form_error('nome')) { echo set_value('nome'); } ?>" size="40" />
                    <br />

                    <b><label for="apelido"><?php if(form_error('apelido')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Apelido</label></b>
                    <input type="text" name="apelido" value="<?php if(! form_error('apelido')) { echo set_value('apelido'); } ?>" size="40" />
                    <br />

                    <b><label for="morada"><?php if(form_error('morada')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Morada</label></b>
                    <input type="text" name="morada" value="<?php if(! form_error('morada')) { echo set_value('morada'); } ?>" size="40" />
                    <br />

                    <b><label for="codpostal"><?php if(form_error('codpostal')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Código Postal</label></b>
                    <input type="text" name="codpostal" value="<?php if(! form_error('codpostal')) { echo set_value('codpostal'); } ?>" size="40" />
                    <br />

                    <b><label for="localidade"><?php if(form_error('localidade')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Localidade</label></b>
                    <input type="text" name="localidade" value="<?php if(! form_error('localidade')) { echo set_value('localidade'); } ?>" size="40" />
                    <br />

                    <b><label for="telefone"><?php if(form_error('telefone')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Telefone</label></b>
                    <input type="text" name="telefone" value="<?php if(! form_error('telefone')) { echo set_value('telefone'); } ?>" size="25" />
                    <br />

                    <b><label for="telemovel"><?php if(form_error('telemovel')) { echo '<div class="imgset"><img src="../../images/markerred.jpg" alt="" /></div>'; } ?> Telemóvel</label></b>
                    <input type="text" name="telemovel" value="<?php if(! form_error('telemovel')) { echo set_value('telemovel'); } ?>" size="25" />
                    <br />

                <br /><br />*Ao clicar no botão Registar, declara que aceita as <a href="#">Condições Gerais de Utilização</a> da CarFinder bem como os seus <a href="#">Termos e Condições</a>.
                <br /><br />
                <div><input class="button-registo" type="submit" value="Registar" /></div>
                <br />
                </form>
            </li>
        </ul>
    </div>
</div>

最后,我發現了問題。 這是一個非常愚蠢的問題,但是將來此POST可能對其他程序員有用。

我在NOTEPAD ++中選擇在UTF-8(標准為ANSI)中進行文本編碼<-這就是問題所在。

現在一切正常

全部

也許您可以將一個空的“ div”保留在如下視圖中以顯示錯誤:

<div class="container">
    <?php echo form_error('empfact','<div class="error">','</div>'); ?>
</div>

我相信您會在CSS中找到答案/問題。

您還將基於是否驗證了表單(myform)來加載兩個不同的視圖。 因此,您實際上並沒有在表單提交時重新加載,而是在加載新視圖(表單成功),並可能引入了不同的元素嵌套,CSS等。

通過僅加載一個視圖(myform)調試頁面。 現在關閉條件語句,並擔心myform。 CodeIgniter中的表單驗證可以通過一個視圖完成。 這就是為什么《用戶手冊》建議那些內聯php函數調用的原因,我在您的標記中看到了這些內容。 嘗試使該頁面正常工作。 然后擔心轉儲到“成功”頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM