1.5 이상에서는
<load target="filter/insert.xml" />
으로 필터 XML을 적용할 수 있다.
그러나 1.4에서는 잘 안 되므로 import 문을 써 준다.
<!--%import("filter/insert.xml")-->
class 파일에서 정의한 필터 관련 함수는 common/js/xml_js_filter.js 파일을 로딩해 실행한다.
$oDocumentController->addXmlJsFilter($module_info->module_srl);
function procFilter(form,filter_func){filter_func(form);return false;}
위 함수가 필터링을 수행해 XML로 만들어 포스팅하는데, 여기서 에러가 나면, XML 이 만들어지지 않고 그대로 post 스트링이 전송된다.
insert.xml 에 정의된
<node target="extra_vars1" required="true"/>
<node target="password" required="true" />
<node target="extra_vars2" maxlength="250" required="true" filter="email" />
내용은 기본 값으로 변수를 참조하지만, 특정 widget을 만들 때, extra_var 체크는 수동으로 넣었다. 이렇게 되면 게시판에서 확장변수 순서를 맞춰줘야 해서 번거롭다.
class 를 기본 정의된 email_address 나 tel 로 주면 될 것 같은데, 이건 나중에 해보자.
댓글 달기