1

我尝试学习 MODX FormIt 组件的用法(MODX 革命 v.2.7.0,FormIt v.4.1.1)。现在我尝试为表单字段设置验证规则,例如“必填,只有数字,大于”,同时我想使用占位符来表示最小值。我这样称呼 FormIt:

[[!FormIt?  
  &hooks=`openSession`
  &redirectTo=`1`
  &placeholderPrefix=``
  &validate=`my_field:required:isNumber:minValue=`[[!+my_min_value]]``
]]

但我可以在“my_field”字段中输入任何数字。如果我使用数字作为 minValue 而不是占位符,一切正常。占位符也成功解析为下面表格中的数字。当我错了?

4

1 回答 1

0

IIRC,您不能在参数中使用占位符。

虽然,您应该尝试使用以下代码,以防最新版本现在支持它:

[[!FormIt?  
  &hooks=`openSession`
  &redirectTo=`1`
  &placeholderPrefix=``
  &validate=`my_field:required:isNumber:minValue=^[[!+my_min_value]]^`
]]

或者

您可以使用自定义验证器,您应该可以在其中使用 getPlaceholder 来读取您的占位符。

有关为什么使用^而不是反引号的更多详细信息,请参阅https://docs.modx.com/extras/revo/formit/formit.validators

于 2018-12-19T18:32:14.123 回答