모듈:파라미터 검증/doc
Module| 이 모듈은 다음 다른 모듈에 의존합니다. |
사용.
이 모듈에서는 calculateViolations(프레임, 서브페이지)와 validateParams(프레임)의 2가지 함수를 내보냅니다.
calculateViolations ( frame , subpages )는 템플릿페이지 또는 목록의 서브페이지 중 하나를 검색합니다(지정되어 있는 경우).위반이 있는 테이블을 반환합니다. 위반이 없는 경우 테이블은 비어 있습니다.그렇지 않으면 그것은 구조를 가지고 있다.
{ violation1 = { param1 = value1, param2 = value2 }, violation2 = { ... }, ...} violation1, violation2 등은 다음과 같이 특정 위반의 이름 중 하나입니다.param1, param2 등은 템플릿에 전달된 파라미터의 이름 또는 템플릿에서 정의된 파라미터 이름입니다.value1, value2 등은 템플릿에 전달된 값입니다.또는 이러한 파라미터가 전달되지 않은 경우 빈 문자열입니다.
위반사항은 다음과 같습니다.
- 무배당
템플릿 페이지 또는 문서 하위 페이지에서 올바른 템플리테이트를 찾을 수 없습니다. - 미신고
값이 비어 있지 않은 명명된 매개 변수, 템플리테타에는 없습니다. - 공허한
값이 비어 있는 명명된 매개 변수가 템플리트에 없습니다. - 신고되지 않은
값이 비어 있지 않은 숫자 매개 변수, 템플리테타에는 없습니다. - 공허한
값이 비어 있는 숫자 매개 변수, 템플리트에 없습니다. - 권장되지 않다
템플리타에서 "사용되지 않음"으로 표시된 값이 비어 있지 않은 매개변수 - 공허한
템플리타에서 "비사용"으로 표시된 값이 비어 있는 매개변수 - 빈칸이 필요한
템플리타에서 "필수"로 표시된 매개 변수가 없거나 비어 있습니다. - 호환성이 없다
템플릿에 전달된 비어 있지 않은 매개 변수이며 템플리타에서 정의된 매개 변수 유형과 호환되지 않습니다.
두 번째 함수 validateParams() frame은 #invoke를 사용하여 템플릿'에서 호출할 수 있습니다.출력 정의를 포함하는 "parameter"라는 이름의 매개 변수가 필요합니다.일반적으로 다음과 같은 방법으로 사용합니다.
<timeout only> {#timeout:파라미터 검증 params 옵션= {{PV default options} } } } } </farams only> 템플릿의 맨 위에 있습니다(템플릿에 공백과 새 행을 추가하지 않도록 주의하십시오).
options 파라미터는 출력을 정의하는 JSON 부호화 문자열 및 몇 가지 특수한 동작이어야 합니다.위의 예에서는 이름이 붙은 Wiki 페이지가 존재하며 유효한 JSON 문자열이 포함되어 있다고 가정하고 있습니다.위에서 정의한 각 위반에 대해 "displicate"는 출력 문자열을 정의할 수 있습니다.따라서 기본적으로 "displicate"는 다음과 같습니다.
{ violation1 : outputstring1, violation2 : outputstring2, ......, behavior1 : 일부 값 ......} 모든 위반을 정의할 필요는 없습니다. "위반"에 정의되지 않은 위반은 무시됩니다.
호출되면 옵션파라미터에서 "subpages"를 추출하여 다음 콜을 수행합니다.
- calculateViolations (프레임, 서브페이지)
반환된 테이블이 비어 있으면 위반이 발견되지 않고 빈 문자열이 반환되며 다른 작업은 발생하지 않습니다.
그렇지 않으면 각 위반, 즉 반환된 테이블의 키에 대해 "control"에 이 키가 포함되어 있을 때 상관 값이 출력에 추가됩니다.
몇 가지 추가 처리가 이루어집니다.
- 여러 토큰이 계산된 값으로 대체됩니다.이하에 설명하겠습니다.
- 몇 가지 "비표준" 위반이 계산됩니다.비표준 위반이 발생하면 동일한 방법으로 "임의" 메타데이터가 출력에 추가됩니다.즉, 옵션에서 "임의"로 키된 문자열이 적절한 치환으로 출력에 추가됩니다.마찬가지로 "meta" 메타데이터는 둘 이상의 유형의 비메타 위반이 발생했을 때 생성됩니다.
- 출력이 비어 있지 않으면 프리픽스 문자열과 서픽스 문자열이 선두에 추가되어 추가됩니다.
토큰과 대체품입니다.
- 템플릿명
네임스페이스를 포함한 전체 템플릿 이름. - tname_module
템플릿 이름에 네임스페이스가 없습니다. - 파라미터명
쉼표로 구분된 매개 변수 목록 - 파라만드값
파라미터와 값의 "name: value" 쌍이 쉼표로 구분된 목록으로 대체됩니다.
첫 번째 2개는 supux 및 prefix를 포함한 출력 전체에 적용되며 나머지 2개는 개별 위반에 적용됩니다.각각 위반에는 위반 파라미터와 값의 독자적인 리스트가 있습니다.
나머지 키는 일부 키의 값이 늘인 경우 이 오류 조건은 무시되며 "임의" 및 "임의" 조건을 계산할 때 카운트되지 않습니다.
기타 일부 옵션필드는 옵션을 통해 전달할 수 있습니다.
- 문서 서브 페이지
는 문자열 또는 문자열 목록(사각형 brace 단위) 중 하나이며 템플릿 서브페이지를 포함할 수 있습니다. - 무시하다
패턴 리스트이름이 임의의 패턴과 일치하는 파라미터는 어떤 규칙에도 위반되지 않습니다. - 스킵-빈-빈-빈-빈-빈-빈-빈-빈칸
따옴표로 묶인 숫자의 경우 모듈은 이 숫자까지 비어 있는 숫자 파라미터를 무시합니다. - 랩퍼에 싸였다
outpot의 래퍼 요소 열기(포함 대상)<div class = 'paramvalidator-wrapper'>) - 랩퍼에 싸였다
출력의 닫힘 래퍼 요소("/div>"에 표시됨)
추가 옵션 파라미터, 이름 있는 옵션1, 옵션2 등을 전달할 수 있습니다.이러한 옵션에서 정의된 엔트리는 이전 값을 덮어씁니다.일반적인 용도는 다음과 같습니다.
일반적으로 이 JSON 구조는 다른 템플릿에 배치되어 위와 같이 모듈용으로 취득됩니다.
<timeout only> {#timeout:매개 변수 유효성 검사 Params 옵션 = {{PV 기본 옵션}}} 옵션 1 = {"key":"value"} } }} </params only> "key"는 위에서 설명한 옵션 필드 중 하나를 덮어쓸 수 있습니다.
귀속
이 모듈은 사용자의 아이디어와 원래 코드를 기반으로 합니다.아이히트론
이 모듈의 출처는 다음과 같습니다.모듈: ParamValidator.