Ich kann nicht herausfinden, wo ich meinen Callback platzieren soll, wenn ich Validierungsregeln für eine Konfigurationsdatei in CI3 verwende. Hier ist meine form_validation.php:CI3/Validierungsregeln zu einer Config-Datei & Verwendung eines Callbacks
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
$config = array(
'blog_post' => array(
array(
'field' => 'entry_name',
'label' => 'entry_name',
'rules' => 'min_length[8]|trim|required|max_length[255]'
),
array(
'field' => 'entry_body',
'label' => 'entry_body',
'rules' => 'trim|required|min_length[12]|callback_html_length_without_html'
),
),
);
function html_length_without_html(){
if (2 < 1)
{
$this->form_validation->set_message('html_length_without_html', 'The field can not be the word');
return FALSE;
} else {
return TRUE;
}
}
Allerdings, wenn ich die oben laufen, bekomme ich folgende Fehlermeldung:
Unable to access an error message corresponding
to your field name entry_body.(html_length_without_html)
Wo platziere ich den Rückruf "html_length_without_html()"?
Vielleicht wird das Lesen der Bedienungsanleitung ein wenig Licht auf die Antwort werfen. https://www.codeigniter.com/userguide3/libraries/form_validation.html#callbacks-your-own-validation-methods – TimBrownlaw
Ja, habe gelesen und offensichtlich nicht bekommen. – user3264461
Nun, diese Funktion würde in den Controller gehen, wo Sie die eigentliche Validierung durchführen. Derselbe Controller, bei dem Sie die Konfiguration der Formularüberprüfung verwenden, um die Validierungsregeln zu konfigurieren. – TimBrownlaw