我的表单验证有一个问题:当我们像这样写电子邮件时- foo@bar -错误不会显示,但表单发送也会失败。我怎么才能修复它?
[[!FormIt?
&hooks=`spam,email,redirect,FormItAutoResponder`
&emailTpl=`emailTplContact`
&emailTo=`my@email.com`
&validate=`email:email:required,
name:required,
agree:required`
&redirectTo=`2532`
&fiarTpl=`emailAutoRespond`
&fiarSubject=`Success`
&fiarFromName=`English School`
&fiarFrom=`my@email.com`
&fiarToField=`email`
&fiarReplyTo=`email`
]]
<form method="post" action="[[~[[*id]]]]">
<label for="name">Name</label><input required="required" type="name" id="name" name="name" placeholder="Your name" value="[[!+fx.name]]">
[[!+fx.error.name]]
<label for="email">E-mail </label><input required="required" type="email" id="email" name="email" placeholder="Your email" value="[[!+fx.email]]">
[[!+fx.error.email]]
</div>
<div>
<label for="phone">Phone number</label> <input type="text" placeholder="Phone number" id="phone" name="phone" value="[[+fx.phone]]" size=15/>
<input type="checkbox" name="agree" id="agree"><label for="agree" [[!+fx.agree:FormItIsChecked=`true`]]>I agree</label>
[[!+fx.error.agree]]</div>
<button id="join">JOIN</button>
</form>我在这里找到了http://bugs.modx.com/issues/4022对这个bug的描述,似乎这个问题必须解决-但如何解决呢?我的FormIT版本- 2.0.3
发布于 2015-09-03 07:35:43
简单的解决方案-创建您自己的客户验证器- https://rtfm.modx.com/extras/revo/formit/formit.validators
举个例子:
<?php
if (!filter_var($value, FILTER_VALIDATE_EMAIL)) {
$validator->addError($key,'Wrong email!');
}
return true;https://stackoverflow.com/questions/32363046
复制相似问题