HTML:
CSS:
#form_success, #form_error{
display: none;
}
Javascript:
$("#form_insert_operatore").submit(function(e){
e.preventDefault();
$('#form_success').css('display','none');
$('#form_error').css('display','none');
$(".form-group").removeClass('has-error');
$('#ajaxmodalspinner').modal('show');
$.ajax({
'url' : $(this).attr('action'),
'type' : $(this).attr('method'),
'dataType' : 'json',
data: $(this).serialize(),
'success' : function(data){
$('#ajaxmodalspinner').modal('hide');
if(data.status=='formerror'){
$.each(data.errors, function( index, value ) {
$("#f_"+index).addClass('has-error');
$("[name='"+index+"']").val('');
$("[name='"+index+"']").attr('placeholder',value);
});
}else if (data.status=='queryerror'){
$('#form_error').css('display','block');
$('#form_error strong').html('Errore di query. Contattare l\'Amministratore');
}else{
$('#form_success').css('display','block');
$('#form_success strong').html('Utente inserito con successo');
}
}
});
});
Esempio di Controller:
public function validate_add_client(){
if (!$this->ion_auth->logged_in())
redirect('/', 'refresh');
$config = array(
array(
'field' => 'name',
'label' => 'Azienda',
'rules' => 'trim|required|xss_clean'
),
array(
'field' => 'zone',
'label' => 'Zona',
'rules' => 'trim|required|is_natural_no_zero|xss_clean'
),
array(
'field' => 'region',
'label' => 'Regione',
'rules' => 'trim|required|xss_clean'
),
array(
'field' => 'province',
'label' => 'Provincia',
'rules' => 'trim|required|xss_clean'
),
array(
'field' => 'city',
'label' => 'Città',
'rules' => 'trim|required|xss_clean'
),
array(
'field' => 'town',
'label' => 'Frazione',
'rules' => 'trim|xss_clean'
),
array(
'field' => 'cap',
'label' => 'CAP',
'rules' => 'trim|numeric|xss_clean'
),
array(
'field' => 'address_1',
'label' => 'Indirizzo 1',
'rules' => 'trim|required|xss_clean'
),
array(
'field' => 'email',
'label' => 'Email',
'rules' => 'trim|valid_email|xss_clean'
),
array(
'field' => 'pec',
'label' => 'PEC',
'rules' => 'trim|valid_email|xss_clean'
)
);
$this->form_validation->set_rules($config);
if($this->form_validation->run()){
if($res=$this->operatori_m->insert($this->input->post(NULL, TRUE))){
$status='ok';
$errors=0;
}else{
$status='queryerror';
$errors=0;
}
}else{
$status='formerror';
$errors=array();
if(form_error('name'))
$errors['name']="Il campo non può essere vuoto";
if(form_error('zone'))
$errors['zone']="Il campo non è corretto";
if(form_error('region'))
$errors['region']="Il campo è richiesto";
if(form_error('province'))
$errors['province']="Il campo è richiesto";
if(form_error('city'))
$errors['city']="Il campo è richiesto";
if(form_error('province'))
$errors['province']="Il campo è richiesto";
if(form_error('cap'))
$errors['cap']="Il campo non è corretto";
if(form_error('address_1'))
$errors['address_1']="Il campo è richiesto";
if(form_error('email'))
$errors['email']="L'indirizzo email non è valido";
if(form_error('pec'))
$errors['pec']="L'indirizzo email non è valido";
}
$jsondata = array(
'status' => $status,
'errors' => $errors
);
print json_encode($jsondata);
}