假设你有一些表,并想手动为该表构建一个表单。
FORM = FORM(
INPUT(_name = 'var1_input', requires = (...), ...),
INPUT(_name = 'var2_input', requires = (...), ...)
...
)
有没有办法在表单中指定'requires'语句,只有当用户为var2_input输入内容时才需要输入var1_input,只有当用户为var1_input输入内容时才需要var2_input?谢谢。
答案 0 :(得分:1)
一个选项是使每个验证器取决于是否已为其他输入字段发布了值:
FORM = FORM(
INPUT(_name = 'var1_input',
requires = IS_NOT_EMPTY() if request.post_vars.var2_input else None, ...),
INPUT(_name = 'var2_input',
requires = IS_NOT_EMPTY() if request.post_vars.var1_input else None, ...)
...
)
另一种方法是使用onvalidation函数。