제목 | form_validation 이 작동을 안합니다.. | ||
---|---|---|---|
글쓴이 | 경량 | 작성시각 | 2013/04/08 01:27:34 |
|
|||
컨트롤러의 test.php 파일입니다.. <? class Test extends CI_Controller {
function index() {
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->form_validation->set_rules('keyword', 'keyword', 'required');
if ($this->form_validation->run() == FALSE) {
echo '실패';
echo validation_errors();
} else {
echo '성공';
}
}
}
?>
index.php는 죽여 놓았고 http://localhost/test?keyword=12345 이런식으로 접근해도 분명 keyword는 존재 하는데 실패 메시지가 뜹니다.. 더군다나 validation_errors(); 에러는 뜨지도 않습니다... 한참 찾아봐도 어디가 잘못된지 모르겠네요.. 답변좀 부탁드립니다....ㅠㅠ |
|||
다음글 | 2차 도메인의 rewrite rule 질문 입니다. (3) | ||
이전글 | textarea가 데이터를 넘겨 받았는데. (7) | ||
니삼
/
2013/04/08 04:39:52 /
추천
0
참고할수있게 form도 올려주시겠어요 ?
|
경량
/
2013/04/08 06:36:55 /
추천
0
ajax로 들어온값체크 하려고 만든 로직 입니다 흐흐 폼검증이 제대로 작동하나 확인 하려고 테스트를 했는데 역시나 작동이 안되더라구요 ㅠㅠ
|
경량
/
2013/04/08 06:50:47 /
추천
0
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form acti method="post">
<input type="text" name="keyword">
<input type="submit">
</form>
</body>
</html>
말씀듣고 혹시나 post로 폼으로 날렸더니 잘되네요 get으로 날리면 똑같이 실패 뜨고 에러가 안 나고 .. 저 라이브러리 자체가 $_SERVER['REQUEST_METHOD'] 가 post일때만 작동되는 것 같습니다.. 저 라이브러리로 ajax에서 get으로 날라온 값들 검증 하려면 어떻게 해야 하나요?? (매뉴얼 해당 부분 뒤져봐도 method 에 대해서는 안 보이던데..) get으로 사용하고 싶은데 말이죠 ㅠㅠ ajax로 post로 날리니 잘 수행되긴 하는데 ... |
변종원(웅파)
/
2013/04/08 10:03:10 /
추천
0
ci라는 프레임워크는 get방식은 배제(?, 쓸수는 있지만)하고 만들었다가 제 생각입니다.
form_validation은 폼전송을 post로 한다고 전제하고 시작을 합니다. 라이브러리 파일 열어보면 $_POST 의 배열갯수가 0 일 경우 false를 반환합니다. |
경량
/
2013/04/08 12:05:31 /
추천
0
답변 감사합니다.
구글링 해보니 라이브러리 쓰기전에 $_POST = $_GET; 하면 된다고 하길래 그렇게 하니 되긴 하네요 웅파님께서는 get을 사용 잘 안하시는지 궁금합니다;; 혹시 사요하신다면 폼 검증은 어떻게 하시나요?? 따로 라이브러리 만들어서 하시는지.. 아니면 그때 그때 유효성 검사 하시는지 말이죠.. 초보라 배울게 많습니다 (_ _) |
니삼
/
2013/04/08 17:54:20 /
추천
0
일반적으로 form으로 전송되는 값은 대부분 post를 씁니다.
그 이유는 get의 문자열 길이 제한이 가장 크다고 생각됩니다. 파일 같은걸 get으로 넘겨줄수 없으니까요. |
변종원(웅파)
/
2013/04/08 18:53:23 /
추천
0
경량/ 페이징은 $_POST로 넘기고 주소를 변조하는 형태로 사용합니다. (포럼 소스 참고)
그외의 변수들은 form_validation에서 set_value로 뷰에서 사용할 수 있어서요. ajax 처리할때는 jquery로 뷰에서 한번 체크하고 ajax action하는 쪽에서 한번 더 체크하는 방식으로 합니다. |
강동원
/
2017/01/28 23:11:20 /
추천
0
cordova로 어플을 제작 중인데 많은 도움이 되었습니다. 고맙습니다.
|