Здесь нет никакого стандарта или правильного способа сделать это, и ваш лучший вариант - создать правило проверки для каждого отдельного их ввода в массиве проверки, и, возможно, вы можете сделать проверку, чтобы классифицировать некоторые из них как «fname»., lname, ... "у них одинаковые проверки, но это не спасет вас, просто добавив накладные расходы.
Но, возможно, ваш лучший способ - создать функцию в вашем base_controller
, например так:
function set_validation_rules()
{
$this->load->library('form_validation');
$config = array(
array(
'field' => 'firstname',
'label' => $this->lang->line($line.'firstname'),
'rules' => 'trim|required|alpha|min_length[3]|max_length[15]'
),
array(
'field' => 'lastname',
'label' => $this->lang->line($line.'lastname'),
'rules' => 'trim|required|alpha|min_length[3]|max_length[15]'
),
array(
'field' => 'password',
'label' => $this->lang->line($line.'password'),
'rules' => 'trim|required|min_length['.$min.']|max_length['.$max.']'
),
array(
'field' => 'passconf',
'label' => $this->lang->line($line.'password_confirm'),
'rules' => 'trim|matches[password]'
)
);
$this->form_validation->set_rules($config);
}
или создайте помощника, как вы предложили, но самый важный шаг - это создать для себя соглашение об именовании переменных / входов и сделать это привычкой, чтобы входы из разных представлений имели одинаковые имена и передавали всевходные данные этой функции для проверки после изменения путем добавления к ней регистра переключателей, чтобы у каждого имени были свои правила, у каждого пароля были свои собственные и т. д., надеюсь, у вас есть идея.