ciao a tutti,
sono alle prime armi con codeigniter e sto effettuando la validazione del form. Nessun problema riesco a validare i campi. Mi sorge un piccolo problema. Se si presentano errori nella validazione mi deve comparire un div con i messaggi d'errore, altrimenti il div non deve essere visibile.
Ho provato cosi, questo è il controller:
Codice PHP:
function index(){
$rules['username']="required";
$rules['pwd']="required";
$this->validation->set_rules($rules);
$this->validation->set_message('required', 'Il campo %s è obbligatorio!'); // %s -> necessario per individuare il campo
$fields['username'] = 'Username';
$fields['pwd'] = 'Password';
$this->validation->set_fields($fields);
$this->validation->set_error_delimiters('<label class="error"> - ', '</label>
');
if ($this->validation->run()==FALSE){
// redisplay web form
$this->load->view('login_administrator');
}
else{
echo "ok";
}
}
mentre questa è la vista:
Codice PHP:
<div class="error_container">
<?php
echo $this->validation->error_string;
?>
</div>
<?php echo form_open('administrator');?>
<table border="0" align="center">
<tr>
<td><label>Username</label></td>
<td><input type="text" name="username" value="<?php echo $this->validation->username;?>" /></td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td><label>Password</label></td>
<td><input type="password" name="pwd" value="<?php echo $this->validation->pwd;?>" /></td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Entra" /></td>
</tr>
</table>
<?php echo form_close()?>
cosi il div è sempre visibile. Come posso risolvere questo problema?
Grazie a tutti