我可以在MODX Revolution FormIt参数中使用占位符吗?

时间:2018-12-17 20:53:53

标签: modx formit

我尝试学习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而不是占位符,则一切正常。占位符也成功地解析为以下表格中的数字。 当我错了吗?

1 个答案:

答案 0 :(得分:0)

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

但是,如果最新版本现在支持该代码,则应尝试使用以下代码:

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

OR

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

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