2013-01-13 2 views
5

나는 Flask-WTForms를 사용하여 Flask를 사용하고 있으며 암호를 포함하여 사용자 값을 업데이트 할 수있는 관리 페이지를 작성하고 있습니다.Flask-WTForms를 사용하여 선택적으로 필드를 요구하는 올바른 방법은 무엇입니까?

등록 할 때 사용하는 것과 동일한 양식 페이지를 사용하고 있지만 비밀번호를 업데이트 할 필요는 없으므로 필요하지 않습니다. Flask-WTForms로이 작업을 수행하는 올바른 방법은 무엇입니까?

UserFormforms.py이 있는데 사용자 정의 유효성 검사기를 만들고 기본 검사를 무시하는 파일 수준 require_password 옵션이 있습니다. 나는 WTForms에 상당히 익숙하고 Flask에 다소 새로운 편입니다.

from flask.ext.wtf import Optional 

def make_optional(field): 
    field.validators.insert(0, Optional()) 

#Rest of code here... 

그런 다음 내 플라스크 엔드 포인트 내에서 내가 호출 할 수

forms.py에서 :

user_form = UserForm() 
forms.make_optional(user_form.password) 
if user_form.validate_on_submit(): 
    #Go on your merry way! 

할 것 같다 그

답변

4

이 솔루션은 내가 원하는 것을 할 것 같다 내가 원하는 것 - 다른 모든 유효성 확인 (예 : 확인)을 유지하고, 아무것도없는 경우 아무것도 무시합니다. 암호가 존재합니다.

+0

"ImportError : No flask.ext.wtf.Optional"모듈이 있습니다. –

+1

@vivi "wtforms.validators import optional"을 사용하면 효과가 있는지 확인할 수 있습니다. – iChux

관련 문제