【发布时间】:2015-11-11 14:54:36
【问题描述】:
我的网站上有一个联系表。我使用 formit 进行 FormIT 验证。我希望电子邮件不超过 40 个字符,必须是正确的电子邮件地址。 Message 字段也是必需的,并且设置了最大长度。
验证器无法正常工作:
- 必填字段为空时,显示错误信息,不允许发送表单(这种情况绝对正确)
-
当
email中的any 文本(有效与否)时,会发送表单但重定向到成功页面不起作用(因此当我们输入超过最大长度时也会发生这种情况)[[!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>
【问题讨论】:
-
看来您已经正确设置了所有内容。我会尝试将其剥离,看看它是否真的在验证电子邮件字段的长度:[[!FormIt? &validate=
email:maxLength=^40^我知道你应该能够将多个验证器链接在一起,但它可能与 email:email:required:maxLength 有问题
标签: forms validation modx modx-revolution formit