2013-03-04 2 views
1

양식에 유효성 검사 오류가있는 경우 공란으로 설정되는 특정 필드를 갖고 싶습니다. 예를 들어, price이라는 십진수 필드가 있고 의 잘못된 값이있는 경우 필드를 none으로 자동 설정하십시오.Django Forms - 필드에 오류가있는 경우 필드를 공백으로 설정하십시오.

이것은 쿼리 문자열을 통해 검색 필터를 만드는 데 사용되므로 더 나은 해결책이 있으면 알려 주시기 바랍니다.

내가 양식 형태가 무효가되지 않는 방법으로 유효하지 않은 필드 값을 처리 할 수 ​​있도록하고 싶습니다 2

class SearchForm(forms.Form): 
    q = forms.CharField() 
    price = forms.DecimalField(required=False) 

편집. 예를 들어 ?q=car&price=100이 있으면 양식이 작동합니다. ?q=car&price=circle이있는 경우 양식에 오류 (값은 십진수가 아님)를 알리고 양식을 무효로 만드는 대신 필드를 비워 두십시오.

clean_*은 비 필드 유형의 특정 오류를 확인하는 데 유용합니다. 그렇습니까? (필드 유형 관련 오류는 이미 점검되고 양식을 무효화했을 것입니다.) 그렇다면 이러한 오류를 감지하려면 어떻게해야합니까?

내 접근 방식은 여기에서 완전히 틀릴 수 있습니다. 기본적으로 검색 필터를 만들려고합니다.

답변

1

정확히 그 방법은 clean_field입니다. 예를 들어 귀하의 예를 들어 :

+0

정상적인 필드 유효성 검사 오류 (나는 필드를 재설정 할 수 있습니까?)로 인해 양식이 유효하지 않게되는 것을 어떻게 막을 수 있습니까? – RS7

+0

죄송합니다. 내 답변에 이미 포함되어 있지 않은 내용을 확신 할 수 없습니다. 예를 들어 줄 수 있습니까? –

+0

원래 질문을 수정했습니다. 잘하면 도움이됩니다. 제발 알려 줘요 - 고마워요. – RS7

관련 문제