首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MODX FormIt验证检查只检查“要求”

MODX FormIt验证检查只检查“要求”
EN

Stack Overflow用户
提问于 2015-08-18 15:16:21
回答 1查看 1K关注 0票数 0

我的网站上有一张联系表格。我使用formit来验证它的FormIT。我希望电子邮件不超过40个字符,被要求和正确的电子邮件地址。Message字段也是必需的,并且具有最大长度集。

验证器不能正常工作:

  • 当必需字段为空时,它将显示错误消息,并且不允许发送表单(这种情况绝对正确)
  • email任何文本(有效与否)时,表单会被发送,但是重定向到成功页面不起作用(所以当我们输入超过最大长度时也会发生这种情况)
代码语言:javascript
复制
 [[!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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-19 05:15:58

您在名称输入和电子邮件输入中有两次类型属性,所以这可能是问题所在。

代码语言:javascript
复制
<input type="text" id="name" name="name" type="name">
<input type="text" required="required" type="email">

删除“type=”名称“type=”电子邮件“-(离开type=”文本“)

此外,我只使用过fi前缀作为格式占位符;您知道fx会起作用吗?你把它放在别的地方了吗?你说你看到了错误信息,所以我想错误占位符一定在工作.

一定要将placeholderPrefix添加到FormIt调用中:

代码语言:javascript
复制
[[!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`
]]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32076327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档