Quelqu'un peut-il vous fournir des conseils sur la manière de créer des règles de validation personnalisées pour CodeDeigniter.
Le site Web que je travaille est pour les étudiants universitaires et permet uniquement aux utilisateurs de s'inscrire s'ils utilisent leur adresse e-mail de l'université. p>
Voici un exemple du type de validation que j'essaie d'atteindre: p>
n'autorise que les courriels terminés par: p> i Suis toujours assez nouveau à codéigniter et je ne sais pas comment créer ce type de validation. P> Toute aide est très appréciée! P> Merci P> P>
6 Réponses :
Ceci est en fait plus lié à PHP que CI. Fondamentalement, vous devez utiliser une adresse e-mail insérée à chaque chaîne de fin fournie. S'il y a une correspondance - Autoriser l'enregistrement, sinon - sortir une alerte ou quelque chose et ne le permettez pas. P>
Bien sûr, comment ça va?
function index() { $this->load->helper(array('form', 'url')); $this->load->library('form_validation'); $this->form_validation->set_rules('email', 'Email', 'required'); $this->form_validation->set_rules('email', 'Email', 'valid_email'); $this->form_validation->set_rules('email', 'Email', 'callback_email_check'); if ($this->form_validation->run() == FALSE) { //fail } else { //success } } function email_check($str) { if (stristr($str,'@uni-email-1.com') !== false) return true; if (stristr($str,'@uni-email-2.com') !== false) return true; if (stristr($str,'@uni-email-3.com') !== false) return true; $this->form_validation->set_message('email', 'Please provide an acceptable email address.'); return FALSE; }
Si votre université dispose d'un répertoire LDAP, vous pouvez faire une authentification dessus, au lieu d'avoir une autre base. Un seul signe est un très bon système d'utilisation dans des institutions telles que des universités p>
Essayez quelque chose comme suit, espère qu'il aide p> p>
Merci pour votre temps et votre contribution, mais je n'ai pas pu obtenir ce code pour travailler.
public function index() { $this->load->helper(array('form', 'url')); $this->load->library('form_validation'); $this->form_validation->set_rules('email', 'Email', 'required|callback_email_check'); if ($this->form_validation->run() == FALSE) { $this->load->view('form'); } else { $this->load->view('formsuccess'); } } public function email_check($email) { if(stristr($str,'@uni-email-1.com') !== false) return true; if(stristr($str,'@uni-email-2.com') !== false) return true; if(stristr($str,'@uni-email-3.com') !== false) return true; $this->form_validation->set_message('email', 'Please provide an acceptable email address.'); return FALSE; }
Vous pouvez valider le courrier électronique par HTML5 Code simple P>
p>
avec motif p>
p>