| 제목 | 이미 폼검증이 되있는 부분을 없애고 싶은데요. | ||
|---|---|---|---|
| 카테고리 | CI 2, 3 | ||
| 글쓴이 | 새해 | 작성시각 | 2017/03/27 23:21:16 |
|
|
|||
컨트롤러 부분
public function board(){
$this->load->database();
$this->load->model(array('event_data_model', 'event_file_model'));
$this->load->library('form_validation');
$validation_rules = array(
array(
'field' => 'name',
'label' => '이름',
'rules' => 'trim|required',
),
array(
'field' => 'tel',
'label' => '전화',
'rules' => 'trim|required|valid_phone|is_unique[event_data.event_guest_tel]'
),
array(
'field' => 'addr',
'label' => '주소',
'rules' => 'trim|required'
),
array(
'field' => 'email',
'label' => '이메일',
'rules' => 'trim|required|valid_email|is_unique[event_data.event_guest_email]'
),
array(
'field' => 'facebookLink',
'label' => '페이스북 링크',
'rules' => 'trim|valid_url'
),
array(
'field' => 'boardType',
'label' => '게시판 타입',
'rules' => 'trim|required'
),
);
if (isset($_FILES['board_img_file']) && !empty($_FILES['board_img_file']['name'])){
$this->form_validation->set_rules('board_img_file', '영수증 이미지', 'required');
}
$this->form_validation->set_rules($validation_rules);
$form_validation = $this->form_validation->run();
$this->_upload($form_validation);
}
view 부분
<div class="row" style="margin-top: 20px;">
<div class="col-xs-12">
<?php
echo validation_errors('<div class="alert alert-danger">', '</div>');
echo show_alert_message(element('message', $data), '<div class="alert alert-success">', '</div>');
echo show_alert_message(element('error', $data), '<div class="alert alert-danger">', '</div>');
?>
</div>
</div>
<div class="col-md-12" style="margin-bottom: 20px; padding: 40px; background: #fff;">
<form action="/event/board" method="POST" enctype="multipart/form-data">
<input type="hidden" name="boardType" value="ko_receipt">
<div class="row">
<div class="col-md-6" style="text-align: center;">
<img src="/assets/_custom/images/noimage.jpg" id="board_img" class="img-thumbnail" onclick="document.getElementById('board_img_file').click();" style="cursor: pointer; margin: 0 auto; width: 350px; max-height: 350px; min-height: 200px;">
<input type="file" name="board_img_file" id="board_img_file" onchange="changeFile(this.files[0]);" style="display: none;">
</div>
<div class="col-md-6">
<?php foreach ($boardDataArr as $value){ ?>
<div class="row" style="padding: 10px;">
<div class="col-sm-3">
<label for="<?php echo $value['id'] ?>"> <?php echo $value['str'] ?>
</div>
<div class="col-sm-9">
<input type="text" style="cursor: text;" class="form-control" name="<?php echo $value['name'] ?>" id="<?php echo $value['id'] ?>" value="<?php echo set_value($value['name']); ?>">
</div>
</div>
<?php } ?>
</div>
</div>
<button type="submit" class="btn btn-block btn-primary" style="margin-top: 20px; padding: 20px;">이벤트 참여하기
</button>
</form>
</div>
여기서 board_img_file 에 대한 폼검증만 삭제하려면 어떻게 해야하나요? |
|||
| 다음글 | excel 다운로드 구현중 생성한 엑셀파일이 깨지는 현... (6) | ||
| 이전글 | model 오류 관련 질문입니다 (2) | ||
|
새해
/
2017/03/27 23:26:20 /
추천
0
저는 컨트롤러 부분 40~42번 코드를 없애서 실행해보았는데요. db에 추가가 안되더군요. 안되는 이유도 알고싶습니다.
|
|
Snowden
/
2017/03/29 17:36:28 /
추천
1
파일 업로드에도 동일하게 적용되는 지는 모르겠습니다만... 필드에대한 규칙이 전혀 설정 안되어 있으면 값을 아예 안넘기는 걸로 알고 있습니다. 40, 42번줄만 지우고 41번은 남긴 뒤에 required 말고 큰 의미 없는 함수(trim 같은)을 넣어보세요. |