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