2016-09-08 2 views
0

JavaScript를 사용하여 런타임에 채우기/수정되는 SelectMultipleField가 있습니다. 내 문제는 이것이 유효성 검사기를 위반하므로 form.validate_on_submit()에 대한 호출이 항상 실패한다는 것입니다. WTForms SelectMultipleField : 유효성 검사 사용 안 함

def dummy_validator(form, field): 
    print("check: "+str(field.data)) 

SelectMultipleField('Test', coerce=int, [dummy_validator]) 

그러나이 계속 실패 :

SelectMultipleField('Test', coerce=int) 

은 이미 아무것도하지 않는 내 사용자 지정 유효성 검사기를 설정했습니다. 예를 들어, 오류 메시지 '7' is not a valid choice for this field이 표시됩니다.

SelectMultipleField가 form.validate_on_submit()에 의해 시작되는 유효성 검사 프로세스를 통과 시키는데 필요한 것은 무엇입니까?

답변

3

문제는 지정된 유효성 검사기가 실행되기 전에 항상 실행되는 pre_validation입니다. 따라서 내 질문에 dummy_validator이 동작을 변경하지 않습니다.

NoValidationSelectMultipleField('Test', coerce=int) 
+0

이 나를 위해 일한 :

class NoValidationSelectMultipleField(SelectMultipleField): def pre_validate(self, form): """per_validation is disabled""" 

은 이후 하나가 직접 양식의 필드를 사용할 수 있습니다

이를 변경하는 유일한 방법은 SelectMultipleField에서 파생 자책골 필드를 구현하는 것입니다 내가 jquery로 숨겨진 필드에 옵션을 동적으로 생성하는 매우 유사한 문제이며 양식이 같은 오류로 인해 불평하고있었습니다. 이것은 form.validate_on_submit 이후에 사용자 정의 유효성 검사를 작성해야한다는 것을 의미합니까? – waldopat

관련 문제