2010-04-30 3 views
4

drupal 양식이 유효성 검사에 실패하면 유효성 검사에 실패한 요소가 빨간색 테두리로 둘러싸여 다시 그려집니다. Drupal은 입력 요소에 error 클래스를 추가하고 system.css에있는 input.error 요소에 2px 빨간색 테두리를 지정하여이 작업을 수행합니다.drupal에서 유효성 검사에 실패한 양식 요소의 빨간색 외곽선 제거

이 스타일 시트를 수정하지 않고 나머지 사이트에서 기본 동작을 사용하면서 특정 양식에서만 빨간색 테두리를 제거하려면 어떻게해야합니까?

솔루션에 사용자 정의 theme_form_element을 사용해야 할 수도 있지만 단일 양식 만 사용자 정의하는 방법을 알 수는 없습니다. 나는 (작업을 수행하는)이 jQuery를 트릭에 의존하지 않고이 작업을 수행하고자하는

참고 :

$("#edit-name").removeClass('error'); 
+0

을 내가 CSS에서 이러한 특정 요소의 테두리 색상을 변경할 수 있지만, 나는에 대한 기본 경계로 돌아갈 수 없습니다 'input' 엘리먼트입니다. 그래서 빨간색 대신 국경을 녹색으로 만들 수는 있지만 정상적인 브라우저 스타일은 되돌릴 수 없습니다. 그래서 명백한 것을 놓치지 않는 한,이 특별한 문제에 대해 순수 CSS 솔루션이 존재하지 않는다고 생각합니다. –

답변

2

당신은 양식 항목에서 오류 클래스를 제거해야합니다. theme_textfield, theme_textarea ... (각 유형에 하나씩 있음)에있는 테마 기능을 덮어 쓰면됩니다.

오류 클래스가 포함 된 $element['#attributes']['class']을 살펴보십시오.

편집
는 특정 형태의 요소에 대해 그것을하거나 #theme 속성이나 당신의 테마 기능을 변경하고자하거나 양식 또는 요소를 사용하여 형성한다.

+0

모듈 내부에서이를 수행 할 수 있습니까? 나는 일하는 데 어려움을 겪고있는 것 같다. –

+0

귀하의 주제에 따라하십시오. – googletorp

+0

귀하의 방법은 작동하지만 (주제에 넣음), 특정 양식이 아닌 내 양식의 모든 양식을 수정합니다. 비록 jQuery가 마음에 들지 않더라도 지금 jQuery 솔루션을 고수 할 것입니다. 그래도 도와 ​​줘서 고마워! –

0

가장 쉬운 방법은 마크 업을 수정하지 않는 것입니다. 드루팔 (Drupal)은 얼룩을 지우지 않고 대신 error 클래스와 연관된 스타일을 변경합니다.

system.css를 수정하지 않고도이 작업을 수행 할 수 있습니다. 테마에 새 스타일 시트를 추가하기 만하면됩니다 (또는 기존 스타일 시트 사용). 오류가있는 요소의 모양을 변경하려면 CSS의 계단식 특성을 사용하십시오. 다음과 같이 추가하십시오 :

.error { 
    border: 0; 
} 

...을 입력하십시오.

은과 같이, 다른 선택기를 추가, 하나의 특정 형태를 대상으로 지정하려면 :

#my-specific-form .error { 
    border: 0; 
} 
관련 문제