0
코드 필드에 여러 필드가있는 양식이 있지만 유효하게 기입해야합니다. 난 단지에 채워지는 하나 개의 필드를 필요로하는 양식을 가질 필요가코드 유효성 검사기 유효성 검사 - 한 필드 만 채워야합니다.
$this->form_validation->_error_array = array(); // Multiform reset
$this->form_validation->_field_data = array(); // Multiform reset
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
if ($this->form_validation->run() === false || isset($errors) && count($errors) > 0) {
$errors[] = validation_errors('<div>', '</div>');
$data['result'] = '<div class="error">' . implode('', $errors) . '</div>';
$this->session->set_flashdata('result', $data['result']);
} else {
// Check if a field has been filled in
if(
(!$this->input->post('mail_everyone') || 0 == set_value('mail_everyone')) &&
0 == set_value('mail_class_list') &&
0 == set_value('mail_performance_list') &&
0 == set_value('mail_mailing_list') &&
0 == set_value('mail_filter_list')
) {
//No filters have been set
$errors[] = validation_errors('<div>', '</div>');
$errors[] = '<div>No valid mail type has been selected</div>';
$data['result'] = '<div class="error">' . implode('', $errors) . '</div>';
$this->session->set_flashdata('result', $data['result']);
}
$data['result'] = '<div class="success">Inserted : <em>' . $this->settings->format_datetime() . '</em></div>';
$this->session->set_flashdata('result', $data['result']);
}
순간 나는 어떤 분야가 있는지 확인 후 유효성을 확인하고 그런 다음
<label for="mail_everyone">Mass Email</label>
<label><input type="checkbox" name="mail_everyone" id="mail_everyone" value="1" <?php echo set_checkbox('mail_everyone', '1'); ?>/> Send to everyone</label>
<?php echo form_error('mail_everyone'); ?>
<label for="mail_class_list">Class Email</label>
<select name="mail_class_list" id="mail_class_list">
<option value="0">- Select -</option>
<?php foreach($filter_classes as $class) : ?>
<option value = "<?=$class['class_id']?>" <?php echo set_select('mail_class_list', $class['class_id'], ('class'==$mail_type&&$class['class_id']==$mail_type_id));?>><?=$class['class_code']?></option>
<?php endforeach; ?>
</select>
<?php echo form_error('mail_class_list'); ?>
<label for="mail_mailing_list">Mailing List Email</label>
<select name="mail_mailing_list" id="mail_mailing_list">
<option value="0"> - Select - </option>
<?php foreach($mailing_lists as $list){ ?>
<option value="<?=$list['mailer_list_id']?>" <?php echo set_select('mail_mailing_list', $list['mailer_list_id'], ('mailer.list'==$mail_type&&$list['mailer_list_id']==$mail_type_id));?>><?=$list['name']?></option>
<?php } ?>
</select>
<?php echo form_error('mail_mailing_list'); ?>
나는 유효성 검사 코드가 있습니다. 그러나이 코드는 작동하지 않습니다. 이것은 codeigniter에 대한 나의 첫 번째 탐구이며, 문서화가 도움이되지 못합니다. 그래서,
당신이 각 필드를 확인하고 기반으로 참/거짓 반환하는 사용자 정의 콜백을 만들 수 있습니다 그들이 설정되어 있는지 여부. 동일한 콜백은 필드 유효성 검사 규칙 중 1 개에서만 설정하면됩니다. E.G. 컨트롤러에서'$ this-> form_validation-> set_rules ('mail_everyone', '', 'callback_check_mail_field')'및'check_mail_field() {}'함수를 호출합니다. 자세한 내용은 http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html#callbacks – mic
을 참조하십시오.하지만 설정 여부는 어떻게 확인합니까? – BeaverusIV