0

フォームの検証に問題があります。このように電子メールを作成すると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ここでこのバグの説明を見つけました。この問題を解決する必要があるようですが、どうすればよいでしょうか? 私の FormIT バージョン - 2.0.3

4

1 に答える 1

0

簡単な解決策 - 独自のカスタムバリデーターを作成する - https://rtfm.modx.com/extras/revo/formit/formit.validators

例として:

<?php
if (!filter_var($value, FILTER_VALIDATE_EMAIL)) {
    $validator->addError($key,'Wrong email!');
}
return true;
于 2015-09-02T23:35:43.303 に答える