Наличие 2 правил проверки формы для одного поля - PullRequest
0 голосов
/ 19 июня 2019

У меня есть личная таблица в базе данных с уникальным идентификатором (p_id) для каждого человека.Затем есть 2 другие таблицы (полномочия и вмешательства) с записями, связанными с таблицей персонала с (p_id)

Так что мне нужно удалить человека из базы данных, я передаю / отправляю p_id функции удаления в контроллеречтобы удалить человека, но мне нужно убедиться, что в таблицах полномочий и вмешательств нет записей, прежде чем человек может быть удален.

я использую form_validation для p_id


$this->load->library('form_validation');
        $this->form_validation->set_error_delimiters('','');

        $this->form_validation->set_rules(
            'p_id', 'Autorisations', array(
                'trim', array(
                    'p_id_auth_callable',array($this->Personnel_model, 'check_pers_tasks')
                        )
            ),
            array('p_id_auth_callable' => ' Delete All {field}')
        );

        $this->form_validation->set_rules(
            'p_id', 'Interventions', array(
                'trim', array('p_id_intv_callable',array($this->Personnel_model, 'check_pers_intv'))
            ),
            array('p_id_intv_callable' => ' Delete All {field}')
        );

if ($this->form_validation->run() == FALSE){

            $pers_delete_msg['icon']  = 'fas fa-exclamation-triangle fa-lg';
            $pers_delete_msg['title']  = 'Warning';
            $pers_delete_msg['status'] = 'warning';
            $pers_delete_msg['text'] = validation_errors('<span class="fas fa-exclamation-triangle"></span>','');// . print_r($post_val,true) ;
        }   
        else{
            //delete person 
        }


оба эти правилаработать (если я использую одно из них), я получаю правильное сообщение.

Если я использую оба правила вместе, как в коде выше, генерируется только сообщение из последнего правила.

Могу ли я иметь2 вызова в одном правиле.

Я использую подключаемый модуль для обработки данных и отправляю p_id через jjery ajax-функцию на контроллер

$('#table tbody').on( 'click', '.delete_pers', function (e) {

        e.preventDefault();
        var pers_data = table.row( $(this).parents('tr') ).data();
        $.ajax({
                url: base_url +"personnel/delete_pers/",
                data: { 
                    p_id: pers_data['p_id'] 
                },
                type: 'POST',
                dataType:'json',
                success: function(response){
                 //display response
                }
                error: function(response){
                 //display
                }
 } );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...