2016-12-22 1 views
0

여러 라디오 입력 옵션이있는 입력란을 만들고 빈 칸에 선택적 입력란을 작성하려고합니다. 다음 스키마는 출력을 표시하는 데 작동하지 않습니다.jsonschema를 사용하여 alpacajs에 사용자 정의 입력이있는 라디오?

{ 
    "oneOf": [ 
     { 
      "enum": [ 
       "Option 1", 
       "Option 2", 
       "Option 3" 
      ] 
     }, { 
      "type":"string" 
     } 
    ] 
} 

어떻게해야합니까? 감사!

명확한 설명 : 나는 출력 싶습니다

() option 1 
() option 2 
() option 3 
(X) custom [__fill in the blank here__] 

답변

1

실수로 실수로 그 바이올린을 무시했습니다. 설명해 주셔서 감사합니다. 페이지에서 해당 레이아웃을 사용하려면 두 개의 다른 구성 요소, 즉 라디오 그룹 버튼과 라디오 그룹 뒤에 자동으로 추가되는 간단한 텍스트 필드를 사용해야합니다 (하지만 jquery를 사용하여 더 잘 할 수 있고 다른 장소에 추가 할 수 있습니다 . 알파카의 postRender 기능에 따라서 당신의 schema은 다음과 같이해야합니다 : 그것은 가능해야하기 때문에

"schema": { 
    "type": "object", 
    "properties": { 
    "oneOf": { 
     "required": true, 
     "enum": ['a', 'b', 'c', 'd'] 
    }, 
    "customResponse": { 
     "type": "string" 
    } 
    } 
} 

내가 정의 응답에 대한 입력 텍스트를 비활성화하지 않도록 기본 정렬 등의 분야에 대한 더 많은 옵션을 추가하는 경우에만 사용자가 4 번째 옵션을 선택하십시오.

여기에 더 완벽한 fiddle이 있습니다.

+0

큰 보이는 () 옵션! Alpaca/JSON Schema가 모든 사용자 정의 코드없이이 작업을 수행하는 "기본 제공"방법을 사용하기를 기대했지만이 방법이 효과적입니다. '{ "oneOf": "custom", "customResponse": "Custom value here"}의 출력 유형은 순수한 문자열보다 덜 간단하지만 쉽게 필터링 될 수 있습니다. 고맙습니다! – mikhuang

0
스키마 속성이 속성으로 묶어야합니다

객체와는 "oneOf는"라디오 버튼 그룹에 참조하는 경우는 객체를하지해야 정렬.

"properties": { 
    "oneOf": { 
    "required": true, 
    "enum": ["option1", "option2", "option3"] 
    }, //// 

여기 완전한 fiddle, 그것은 도움이되기를 바랍니다. 다른 것을 원하면 알려주십시오.

+0

응답 해 주셔서 감사합니다. 바이올린이 업데이트 된 것 같지 않습니까? 링크에서 찾은 슬라이더 예제를 포크하고 지침에 따라 시도했습니다. https://jsfiddle.net/24zcpgty/ 나는 잘못하고 있지만 빈 입력을 출력합니다. 구체적으로, 내가 출력을 싶습니다 () 옵션 2 은() 옵션 3 (X) 사용자 정의 [빈 here__에서 __fill] – mikhuang

관련 문제