我的网站上有一张联系表格。我使用formit来验证它的FormIT。我希望电子邮件不超过40个字符,被要求和正确的电子邮件地址。Message字段也是必需的,并且具有最大长度集。
验证器不能正常工作:
email是任何文本(有效与否)时,表单会被发送,但是重定向到成功页面不起作用(所以当我们输入超过最大长度时也会发生这种情况) [[!FormIt? &hooks=`spam,email,redirect,FormItAutoResponder` &emailTpl=`emailTplContact` &emailSubject=`Message from site.com` &emailTo=`myemail@gmail.com` &validate=`email:email:required:maxLength=^40^, message:required:maxLength=^150^` &redirectTo=`11` &fiarTpl=`emailAutoRespond` &fiarSubject=`Your message is sent` &fiarFromName=`My Site` &fiarFrom=`myemail@gmail.com` &fiarToField=`email` &fiarReplyTo=`email` ]] <form id="contact-form" method="post" action="[[~[[\*id]]]]" enctype="application/x-www-form-urlencoded" role="form" data-toggle="validator" name="order"> <input type="text" id="name" name="name" type="name" placeholder="Name" value="[[!+fx.name]]" size=25> <input type="text" required="required" type="email" id="email" name="email" placeholder="Email" value="[[!+fx.email]]"> [[!+fx.error.email]] <textarea required="required" placeholder="Message" id="message" name="message">[[!+fx.message]]</textarea> <button name="send">Send</button> </form> </div>发布于 2015-08-19 05:15:58
您在名称输入和电子邮件输入中有两次类型属性,所以这可能是问题所在。
<input type="text" id="name" name="name" type="name">
<input type="text" required="required" type="email">删除“type=”名称“和type=”电子邮件“-(离开type=”文本“)
此外,我只使用过fi前缀作为格式占位符;您知道fx会起作用吗?你把它放在别的地方了吗?你说你看到了错误信息,所以我想错误占位符一定在工作.
一定要将placeholderPrefix添加到FormIt调用中:
[[!FormIt?
&placeholderPrefix=`fx`
&hooks=`spam,email,redirect,FormItAutoResponder`
&emailTpl=`emailTplContact`
&emailSubject=`Message from site.com`
&emailTo=`myemail@gmail.com`
&validate=`email:email:required:maxLength=^40^,
message:required:maxLength=^150^`
&redirectTo=`11`
&fiarTpl=`emailAutoRespond`
&fiarSubject=`Your message is sent`
&fiarFromName=`My Site`
&fiarFrom=`myemail@gmail.com`
&fiarToField=`email`
&fiarReplyTo=`email`
]]https://stackoverflow.com/questions/32076327
复制相似问题