1

是否可以在控制器中使用像 IS_NOT_EMPTY() 这样的 web2py 验证器?它们似乎是导入的,但在控制器中,但它们根本没有用。调用它们时应该使用哪些参数。

4

1 回答 1

5

验证器通常被指定为requiresDAL 字段对象的属性,通常在定义模型时。您还可以requires在控制器中指定字段的属性(这通常在验证器或其参数是有条件的并且在调用特定控制器操作之前才确定时完成)。手动生成FORM对象时,还可以将验证器分配给requires表单助手的属性,例如INPUT,SELECT等。

您也可以直接实例化和调用验证器,尽管这种情况不太常见。为此,首先实例化验证器对象(如果验证器构造函数接受任何参数,则可能传递参数),然后通过传入要验证的单个值来调用该对象。验证器将返回一个 2 元组——第一个元素将是经过验证的值(如果验证器进行转换,则可能进行转换),第二个元素将是要么None或错误消息(如果验证失败)。例如:

>>> IS_EMAIL()('bademail')
('bademail', 'enter a valid email address')
>>> IS_EMAIL()('goodemail@email.com')
('goodemail@email.com', None)
于 2013-04-23T13:05:08.047 回答