依存関係を持つバリデーターのこの例は、web2py ブックのフォームとバリデーターの章で提供されてい ます。
def index():
form = SQLFORM.factory(
Field('username', requires=IS_NOT_EMPTY()),
Field('password', requires=IS_NOT_EMPTY()),
Field('password_again',
requires=IS_EQUAL_TO(request.vars.password)))
if form.process().accepted:
pass # or take some action
return dict(form=form)
への依存関係password_again
は、フォームから受け取ったパスワード フィールドの未加工の入力に基づいていますrequest.vars.password
。
フォームからの検証済みデータに基づくバリデーターを追加する最もクリーンな方法は何form.vars.pasword
ですか?
検証プロセス中にフィールドの値がサニタイズされる可能性がある場合を考えています(たとえば、大文字に変換する、先頭の空白を削除する、チェックディジットを追加する)。