在 Web2py 中验证 HTML 表单
Validating HTML Forms in Web2py
是否可以将 Web2py 的表单验证与标准 HTML 表单一起使用?例如,具有以下形式:
<form class="search" action="{{=URL('search')}}" method="get">
<div class="input-append">
<input type="text" id="query" name="query" class="span3" placeholder="Search the website"/>
<button type="submit" class="btn"><i class="icon-search"></i> Go! </button>
</div>
</form>
我可以检查输入字段是 IS_ALPHANUMERIC
还是 IS_NOT_EMPTY
吗?或者,使用任何其他验证器? http://web2py.com/books/default/chapter/29/07/forms-and-validators#Validators
在控制器中,您可以执行如下操作:
def search():
form = SQLFORM.factory(Field('query', requires=IS_ALPHANUMERIC()))
if form.process().accepted:
...
elif form.errors:
...
return dict(form=form)
在视图中,将 </form>
结束标记替换为 {{=form.custom.end}}
,其中包括隐藏的表单名称和 CSRF 标记字段以及结束表单标记。
或者直接使用validators——直接实例化,传入要验证的值,检查返回元组的第二个元素是否为None
(表示验证成功) :
if IS_ALPHANUMERIC()(request.vars.query)[1] is None:
[code for successful validation]
是否可以将 Web2py 的表单验证与标准 HTML 表单一起使用?例如,具有以下形式:
<form class="search" action="{{=URL('search')}}" method="get">
<div class="input-append">
<input type="text" id="query" name="query" class="span3" placeholder="Search the website"/>
<button type="submit" class="btn"><i class="icon-search"></i> Go! </button>
</div>
</form>
我可以检查输入字段是 IS_ALPHANUMERIC
还是 IS_NOT_EMPTY
吗?或者,使用任何其他验证器? http://web2py.com/books/default/chapter/29/07/forms-and-validators#Validators
在控制器中,您可以执行如下操作:
def search():
form = SQLFORM.factory(Field('query', requires=IS_ALPHANUMERIC()))
if form.process().accepted:
...
elif form.errors:
...
return dict(form=form)
在视图中,将 </form>
结束标记替换为 {{=form.custom.end}}
,其中包括隐藏的表单名称和 CSRF 标记字段以及结束表单标记。
或者直接使用validators——直接实例化,传入要验证的值,检查返回元组的第二个元素是否为None
(表示验证成功) :
if IS_ALPHANUMERIC()(request.vars.query)[1] is None:
[code for successful validation]