0
전에 요청 수정 :내가 등록 양식을 검증
class AddUserForm(Form):
email = StringField(_('Email'), [validators.DataRequired()])
password = PasswordField('Password', [validators.DataRequired()])
forename = StringField('Forename', [validators.DataRequired()])
surname = StringField('Surname', [validators.DataRequired()])
address = TextAreaField('Address', [validators.DataRequired()])
join_date = DateField('Join Date', [validators.DataRequired()])
과 같이보기 :
@app.route('user/add/', methods=['GET', 'POST'])
def add():
# here I need to modify request.form
form = AddUserForm(request.form)
if request.method == 'POST' and form.validate():
user = User(email=request.form['email'])
form.populate_obj(user)
user.set_password(request.form['password'])
db.session.add(user)
db.session.commit()
return jsonify({'message': 'thanks for registration',
'status': 'success'})
return render_template('user/form.html', form=form)
을 나는이 양식의 유효성을 검사 할 때 문제가 있습니다.
form.validate()는 request.form [ 'join_date'] 값에 false를 반환하므로 날짜 필드를 그레고리 안 날짜로 먼저 변환해야합니다.
addUserForm()에 전달하기 전에 request.form을 수정해도 my form.validate()는 false를 반환하지 않을 것이라고 생각했습니다.
하지만 ImmutableMultiDict이 아니기 때문에 그럴 수 없습니다. 불변이 아닌 request.form의 사본을 만들 수 있는지 또는 검증 전에 요청을 수정하는 다른 방법이 있는지 알고 싶습니다.