Benutzerdefinierte E-Mail-Validierungsregeln für Codeigniter

  • Kann jemand bitte Rat geben, wie man benutzerdefinierte Validierungsregeln für Codeigniter erstellt.

    Die Website, an der ich arbeite, ist für Studenten von Universitäten Benutzer können sich nur registrieren, wenn sie ihre Universitäts-E-Mail-Adresse verwenden.

    Hier ist ein Beispiel für die Art der Validierung, die ich erreichen möchte:

    Erlaube nur E-Mails, die enden mit:

     array(
        '0' => '@uni-email-1.com',
        '1' => '@uni-email-2.com',
        '2' => '@uni-email-3.com',
        '3' => '@uni-email-4.com',
    );
     

    Ich bin Codeigniter und ich noch recht neu Ich bin nicht sicher, wie diese Art der Validierung erstellt werden soll.

    Jede Unterstützung wird sehr geschätzt!

    Vielen Dank

    22 September 2014
    Stephan MullerHouman
6 answers
  • Wie sieht das aus?

     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;
    
    }
     
    22 November 2011
    Steve Lewis
  •  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;
        }
     
    26 August 2014
    rajangupta
  • Versuchen Sie Folgendes:

     $formatArr = array("@uni-email-1.com", "@uni-email-2.com" "@uni-email-3.com");
    
    $this->form_validation->set_rules('email', 'Email', 'callback__check_email');
    
    //then the validation function
    function _check_email() {
       $email = $this->input->post("email");
       $emailLastPart = array_pop(explode("@", $email));
       if(!in_array($emailLastPart, $formatArr)) {
          $this->form_validation->set_message('email', 'Please provide valid email address.');
          return FALSE;
       }
       return TRUE;
    }
     

    Ich hoffe, es hilft

    14 October 2017
    Sudhir Bastakoti
  • Dies ist eigentlich mehr mit PHP als mit CI verbunden. Grundsätzlich sollten Sie die eingefügte E-Mail-Adresse mit der von Ihnen angegebenen Endzeichenfolge übereinstimmen. Wenn es eine Übereinstimmung gibt - Registrierung zulassen, wenn nicht - geben Sie eine Warnung oder etwas aus und erlauben Sie es nicht.

    22 November 2011
    Shomz
  • Wenn Ihre Universität über ein LDAP-Verzeichnis verfügt, können Sie die Authentifizierung über dieses Verzeichnis durchführen, anstatt eine andere Basis zu haben. Single Sign On ist ein sehr gutes System für den Einsatz in Einrichtungen wie Universitäten

    22 November 2011
    ciuser
  • Sie können E-Mails durch einfachen HTML-Code

    mit Muster

    03 November 2015
    Raj Singh