문제

난 놀 쓰 jQuery 플러그인을 사용하는 속성을 정의하는 형태의 검증 행동(예,내가 알고 있어요 이미 검증 플러그인;이것은 많은 학습 운동으로 뭔가가 사용하는 것입니다).이상적으로,내가 가지고 싶다면 뭔가 다음과 같다:

예를 들어 1-입력:

<input id="name" type="text" v:onvalidate="return this.value.length > 0;" />

예제 2-wrapper:

<div v:onvalidate="return $(this).find('[value]').length > 0;">
   <input id="field1" type="text" />
   <input id="field2" type="text" />
   <input id="field3" type="text" />
</div>

예시 3-미리 정의된:

<input id="name" type="text" v:validation="not empty" />

의 목표는 여기서 허용하는 나 jQuery 코드를 파악하는 요소를 검증해야(이것은 이미 완료)고 아직도 마크업이 유효 XHTML,무엇이 문제가 있습니다.나는 매우 필요하다는 이 둘의 조합 DTD 및 XML 스키마에,하지만 난 정말로 확실히는 방법을 정확하게 실행됩니다.

에 따라 이 문서, 나의 힘이 되신 여호와를 찬양은 다음 DTD:

<!ENTITY % XHTML1-formvalidation1
    PUBLIC  "-//W3C//DTD XHTML 1.1 +FormValidation 1.0//EN"
            "http://new.dandoes.net/DTD/FormValidation1.dtd" >
%XHTML1-formvalidation1;

<!ENTITY % Inlspecial.extra 
  "%div.qname; " >

<!ENTITY % xhmtl-model.mod
    SYSTEM "formvalidation-model-1.mod" >  
<!ENTITY % xhtml11.dtd
    PUBLIC  "-//W3C//DTD XHTML 1.1//EN"
            "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >
%xhtml11.dtd;

그리고 여기에"formvalidation 모델-1":

<!ATTLIST %div.qname;
    %onvalidation   CDATA   #IMPLIED
    %XHTML1-formvalidation1.xmlns.extra.attrib;
>

나가지 DTD 기 전에,그래서 나는 심지어는 정말 정확히 확인 내가 무엇을 하고 있어요.을 실행할 때 마이 페이지를 통해 W3XHTML 검사,I get80 개 이상의 오류기 때문에 그것이 점점 중복된 모든 XHTML 요소입니다.나는 적어도에서 오른쪽을 추적하고 있습니까?어떤 방법이 있나요?


편집: 나는 이 섹션에서 사용자 지정 DTD 기 때문에,그것은 그것이 밝혀졌다 실제로 자신을 참조하며,코드 내 템플릿에서 정말로 결합하기 위한 두 가지 Dtd 를 하나로,지 않을 추가하면 특정 항목 중 하나:

<!ENTITY % XHTML1-formvalidation1
    PUBLIC  "-//W3C//DTD XHTML 1.1 +FormValidation 1.0//EN"
            "http://new.dandoes.net/DTD/FormValidation1.dtd" >
%XHTML1-formvalidation1;

또한 제거,이하지 않았기 때문에 유효하며,지 않을 것 같:

<!ENTITY % Inlspecial.extra 
  "%div.qname; " >

또한,내가 결정 이후 추가의 소수에 추가 항목,별도의 파일을 모형에 의해 추천 W3 지 않는 정말 보는 도움이 되는,그래서 나는 모든 것으로 dtd 파일의 내용이 지금 이:

<!ATTLIST div onvalidate CDATA  #IMPLIED>
<!ENTITY % xhtml11.dtd
    PUBLIC  "-//W3C//DTD XHTML 1.1//EN"
            "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >
%xhtml11.dtd;

그래서 지금,나는 못하고 어떤 DTD 관련 유효성 검사 오류가 발생하지만에서는 onvalidate 특성이 여전히 유효하지 않습니다.

업데이트: 나는 버림 DTD 고 추가되는 스키마: http://schema.dandoes.net/FormValidation/1.0.xsd

V:서는 onvalidate 나타나는 검사에 Visual Studio 지만,W3C 서비스도 좋아하지 않습니다.

여기에는 페이지가 나는 그것을 사용하여 볼 수 있도록 소스에서:

http://new.dandoes.net/auth

그리고 여기에 대한 링크를 w3c 검증 결과는:

http://validator.w3.org/check?uri=http://new.dandoes.net/auth&charset=(detect+automatically)&doctype=Inline&group=0

이에 대한 한 가까운 나를 얻을 수 있으로 이것,또는 아직도 내가 뭔가 잘못하고 있는가?

도움이 되었습니까?

해결책

당신이 원하는 결과가 유효한 XHTML,나는 당신을 사용해야 XML 네임스페이스 이 아닌 사용자 지정 DTD.지 DTD 정의 언어(고,따라서 사용자 지정 DTD 지"정말"XHTML)지만,그것은 던져 어떤 브라우저는 그것을 읽으로 쿼크 모드, 도 그렇지 않은 경우 초크에서 파일입니다.

를 사용하는 네임스페이스,다른 한편으로 생산할 것이 완벽하게 유효한 XHTML(아니지만 모든 검사는 네임스페이스-알지 않을 수도 있습 유효성을 올바르게)및 수 있는 브라우저에서 일(근)표준을 모니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="http://example.com/ns/validation" xml:lang="en">
    <head><title>Validation Example</title></head>

    <body>
        <input id="name1" type="text" v:onvalidate="return this.value.length &gt; 0;"/>
        <input id="name2" type="text" v:validation="not empty"/>
    </body>
</html>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top