Well that is 1 way - there is another way around - i am sharing you 1 of the example...
$state_required_if = $this->input->post('other_state') ? '' : '|required';
$crud->set_rules('state', 'State / Province', 'trim' . $state_required_if);
well.. here if you see . what i am doing is - if the drop down value selected is other_state - it will ignore state .. else it will ensure it is set required.
Every time the validation needs to be done - GC makes an ajax call .. where it sees this condition - dynamically generated.
You can alter the same accordingly to your needs.