묻고답하기
procFilter 함수 질문이요
2014.11.10 12:06
안녕하세요. 질문에 대한 답을 구하고자 합니다.
게시판 글을 쓸때 DB에 들어가는 컬럼값 하나를 바꾸려고 하는데요
procFilter이 함수가 리턴되게 되어 있는데 무슨 함수인지 도통 알수가 없습니다ㅠㅠ
게시판 글 쓸때 등록버튼을 누르면
<form action="./" method="post" onsubmit="return procFilter(this, insert)" id="fo_write">
이렇게 되어 있는데 저 함수를 찾아서 보니 xe.js파일에
function procFilter(form, filter_func) {
filter_func(form);
return false;
}
이런식으로 정의가 되어 있습니다. 자문을 구합니다. 도와주세요 ㅠㅠ
댓글 4
-
Lansi
2014.11.10 13:05
-
초보중초보중초보
2014.11.10 14:41
답변 감사드립니다. procFilter 함수는 아무 역할이 없는건가요?
-
sejin7940
2014.11.10 22:11
procFilter 는 글이 등록될 때 규칙을 맞게 썼는지 확인하는 filter 파일들을 실행시킨다는 의미예요
게시판의 경우, 글 등록시, procFilter(this, insert) 니까.. board/tpl/filter/insert.xml 파일이 필터대상이 되겠네요
닉네임 값여부 및 길이, 패스워드필수, 이메일 주소규칙, 홈페이지 주소규칙, 제목 필수 및 길이제한, 내용필수 , 카테고리필수 등을 여기 filter 에서 제어하게 되어있습니다
참고로, XE 초기에는 filter 를 사용해고, 요즘은 ruleset 을 권장하는 추세입니다
filter 는 글등록하는 그 순간 클라이언트 PC 쪽 기반으로 검사하는 기능이고
ruleset 기반이 되면, filter 와 같이 클리어언트 쪽 검사는 물론이고, 실제 서버로 값이 넘어온 후 DB에 저장전에 서버단에서 한번 더 검토를 하게 됩니다
요소 검사 등으로 편법을 쓰거나 우회하는 것등을 막기 위해 더 강화된거죠.
http://www.slideshare.net/flyskykr/xe-35073789 를 참조하시면 조금 더 도움이 되실거예요
-
초보중초보중초보
2014.11.11 09:48
답변 감사드립니다 ㅠㅠ 한가지 더 여쭙고 싶은데요. 그러면 결국 컬럼에 들어가는 값 수정을 하고 싶은데 어디서 하면 되는건가요?
DB에 들어가는 값을 변경하려면
HTML 파일이 아닌 PHP 파일을 수정해야 합니다
document 모듈에 controller 파일을 수정하세요