@denism300

Как исправить ошибку валидации формы modx?

Чанк tplModalCallback
<div class="modal fade" id="modalCallback" tabindex="-1" role="dialog" aria-labelledby="modalCallbackTitle" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="modalCallbackTitle">Форма обратной связи</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                [[!AjaxForm?
                    &snippet=`FormIt`
                    &form=`contactForm`
                    &emailTpl=`tplContactForm`
                    &hooks=`spam, email`
                    &emailSubject=`Сообщение с сайта [[++site_url]]`
                    &emailTo=`почта@почта.ru`
                    &validate=`phone:required`
                    &validationErrorMessage=`В форме содержатся ошибки!`
                    &successMessage=`Сообщение успешно отправлено!`
                ]]
            </div>
        </div>
    </div>
</div>


Чанк contactForm
<form method="post">
    <div class="form-group">
        <input type="text" name="name" required="" class="form-control" placeholder="Ваше имя*" value="[[+fi.name]]">
        <span class="error error_name">[[+fi.error.name]]</span>
    </div>
    <div class="form-group">
        <input type="email" name="email" class="form-control" placeholder="Ваш email*" value="[[+fi.email]]">
        <span class="error error_name">[[+fi.error.email]]</span>
    </div>
    <div class="form-group">
        <input type="text" class="form-control" id="phone" name="phone" required="" placeholder="Ваш телефон*" value="[[+fi.phone]]">
        <span class="error error_name">[[+fi.error.phone]]</span>
    </div>
    <div class="form-group">
        <textarea rows="4" name="message" required="" class="form-control word-count" data-maxlength="200" data-info="textarea-words-info" placeholder="Сообщение*"></textarea>
        <span class="error error_name">[[+fi.error.message]]</span>
    </div>
    <div class="form-group form-check">
        <input type="checkbox" class="form-check-input" id="privacyCheck" required="">
        <span class="error error_name">[[+fi.error.opd]]</span>
        <label class="form-check-label" for="privacyCheck">Согласен на обработку персональных данных</label>
    </div>
    <p class="text-small">Ставя отметку, я даю свое согласие на обработку моих персональных данных в соответствии с законом №152-ФЗ «О персональных данных» от 27.07.2006 и принимаю условия <a href="[[~70]]" rel="nofollow" target="_blank">Пользовательского соглашения</a></p>
    <div class="text-center">
        <button type="submit" class="btn btn-landcad big-btn">Отправить</button>
    </div>
    [[+fi.success:is=`1`:then=`<div class="alert alert-success">[[+fi.successMessage]]</div>`]]
    [[+fi.validation_error:is=`1`:then=`<div class="alert alert-error">[[+fi.validation_error_message]]</div>`]]
</form>


Чанк tplContactForm
<p>Имя: [[+name]]</p>
<p>Email: [[+email]]</p>
<p>Телефон: [[+phone]]</p>
<p>Сообщение: [[+message]]</p>


при отправке ругается на ошибку в поле email, хотя оно исключено из валидации

при этом, в админку сайта сообщения приходят.
  • Вопрос задан
  • 212 просмотров
Пригласить эксперта
Ответы на вопрос 1
an-tar
@an-tar Куратор тега MODX
Full stack web developer
Что странно.
А как они у вас в админку попадают? Вы письма обрабатываете или отдельный ajax запрос летит? По коду сниппета видно,что никто не сохраняет "в админку".

У вас нет никого больше JS кода, который привязан к валидации?? Может быть это его вклад?
Как вариант замените имя поля email на скажем email2, что будет?
Еще дополнительно попробуйте задать emailFrom и emailReplyTo
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы