0

以下に示すように、SQLFORM.factoryを使用してカスタムフォームを作成しています。

searchform=SQLFORM.factory(
    Field('useraccount','integer',default=None),
    Field('group','unicode',default=None), 
    submit_button = 'Search')    

私の理解によれば、useraccountフィールドは整数型である必要があり、ユーザーがこの値を指定しない場合、request.vars.useraccountNoneとして取得する必要があります。しかし、文字列値を受け入れており、ユーザーがこの値を指定しないと、request.vars.useraccountに空の文字列が表示されます。

これを達成するために私が何をすべきか教えてください。

ありがとうございました。

4

1 に答える 1

1

フォームでは、整数フィールドは、CSS クラスが「整数」に設定された単純な文字列入力であるため、送信された値、したがって格納される値request.varsは文字列です。フォームが処理されると、文字列値は整数フィールドの整数に変換されるため、.form.vars.useraccountではなくを使用する必要がありますrequest.vars.useraccountform.vars.useraccountフィールドが空白の場合はそれがNone、値が送信された場合は整数であることがわかります。

于 2013-09-05T14:21:59.700 に答える