Codeigniter Formular-Validierung Fehlermeldung
Ich habe ein Formular auf meiner website-header, wo ich dem Benutzer erlauben, sich mit seinem Benutzernamen/Kennwort... dann habe ich POST von /signin-Seite und überprüfen Sie, ob der Benutzername vorhanden ist, damit sich der Benutzer anmelden.. wenn es ein problem beim login ich diese Ausgabe Fehler...
habe ich versucht mit dem folgenden code zu zeigen, einen benutzerdefinierten Fehler, aber mit kein Glück
if ($this->form_validation->run() == false){
$this->load->view("login/index", $data);
}else{
$return = $this->_submitLogin();
if ($return == true){
//success
}else{
$this->form_validation->set_message('new_error', 'error goes here');
//error
}
$this->load->view("login/index", $data);
}
wie funktioniert set_message Arbeit, und wenn dies die falsche Methode, mit der man erlauben Sie mir zeigen, bei dem ein benutzerdefinierter Fehler in diesem Fall?
EDIT :
validation rules:
private $validation_rules = array(
array(
'field' => 'username',
'label' => 'Username',
'rules' => 'trim|required|callback__check_valid_username|min_length[6]|max_length[20]|xss_clean'
),
array(
'field' => 'password',
'label' => 'Password',
'rules' => 'trim|required|min_length[6]|max_length[32]'
),
);
Wie Sie Ihre Gültigkeitsregel(s)? Diese zusätzlichen Informationen notwendig.
was ich versuche zu tun, ist zu zeigen, eine zusätzliche Fehlermeldung, wenn der Benutzer die Eingabe falscher login-details.
Zusätzliche Informationen, die Sie bereitstellen müssen ist : (ich wiederhole), wie Sie der Gültigkeitsregel(s)? Haben Sie benutzerdefinierte callback-Funktion? erforderlich? einzigartig?
aktualisierte Frage mit Gültigkeitsregeln
set_message
Methode können Sie Ihre eigenen Fehlermeldungen auf der fly. Aber eine Sache, die Sie sollten feststellen, dass der name des Schlüssels hat, um den Namen der Funktion, die es entspricht.was ich versuche zu tun, ist zu zeigen, eine zusätzliche Fehlermeldung, wenn der Benutzer die Eingabe falscher login-details.
Zusätzliche Informationen, die Sie bereitstellen müssen ist : (ich wiederhole), wie Sie der Gültigkeitsregel(s)? Haben Sie benutzerdefinierte callback-Funktion? erforderlich? einzigartig?
aktualisierte Frage mit Gültigkeitsregeln
InformationsquelleAutor fxuser | 2011-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
set_message
- Methode können Sie Ihre eigenen Fehlermeldungen auf der fly. Aber eine Sache, die Sie beachten sollten, ist, dass der name des Schlüssels hat, um den Namen der Funktion, die es entspricht.Wenn Sie müssen, ändern Sie Ihre benutzerdefinierte Regel, die
_check_valid_username
, können Sie dies durch ausführenset_message
innerhalb dieser Funktion:Wenn Sie möchten, ändern Sie die Standard-Fehlermeldung für eine bestimmte Regel, können Sie dies durch aufrufen
set_message
mit dem ersten parameter der name der Regel und die zweiten parameter als Ihre benutzerdefinierte Fehler. E. g., wenn Sie möchten, ändern Sie dierequired
Fehler :Wenn durch Zufall Sie brauchen, um die Sprache zu ändern, statt die error-Anweisung selbst, erstellen Sie Ihre eigenen
form_validation_lang.php
und legen Sie es in der richtigen Sprache-Ordner in Ihrem system-language-Verzeichnis.InformationsquelleAutor toopay
Wie Sie sehen können hier, können Sie die Anzeige der benutzerdefinierten Fehler in Ihrer Ansicht in folgender Weise:
PS: Wenn das nicht Ihr problem, poste deinen entsprechenden code anzeigen und jede andere Fehlermeldung, die man bekommt.
<?php echo form_error('field_name'); ?>
wo 'field_name' ist der name des Feldes, welcher Fehler angezeigt werden.InformationsquelleAutor StathisG
Das problem ist, dass Ihre form bereits validiert in Ihrem WENN-Teil! Sie können das problem beheben, indem Sie auf diese Weise:
In der Ansicht:
CI-Methode zu überprüfen, Anmeldeinformationen ist die Verwendung von callbacks:
Empfehle ich Ihnen zu Lesen, CI-Dokumentation: http://codeigniter.com/user_guide/libraries/form_validation.html
InformationsquelleAutor Vasil Dakov
Die Art, wie ich dies Tat, war fügen Sie eine andere Gültigkeitsregel und führen die überprüfung erneut. So, ich könnte den Fehler bei der überprüfung der Anzeige in der Ansicht konsistent ist.
Folgende code ist eine bearbeitete Auszug aus meinem code arbeiten.
InformationsquelleAutor Kinjal Dixit
Erfordern Codeigniter 3.0
Mit callback_ Methode;
Ergebnis:
wenn Datum = '14.07.2017' kein Fehler
wenn Datum = '14-7-2017' Datum im Feld " Datum Speziellen Fehler
InformationsquelleAutor Limitless isa