Why does my website's contact form keep returning an 'Invalid Email' error?

I have a contact form on my website created from a contact page that was setup following these steps. (https://help.shopify.com/en/manual/online-store/themes/customizing-themes/add-contact-page#create-a-contact-page). Every time I try to test the form, the form can not be submitted and returns the error “Email Is Invalid” I have tried multiple email addresses but none work.

1 Like

Hi @encoremarketing , can you share your store url ?

Yes! https://encore307.com/

1 Like

@encoremarketing , The problem is with the incorrect input type instead of text you should change it to email :


it should be this:


1 Like

Thank you! Where do I change this? I know in the code but I’m not sure which section

@encoremarketing , can you share a screenshot of the code?

I am seeing the correct field here in my code

@encoremarketing , Test the contact form now.

Hi! I had to change the placeholder type to “email” in the request for quote page code. However, while I can submit a quote, I do not receive the submitted quote to my email.

@Abdosamer I had the wrong sender email address! I retested and it worked thank you so much for your help

1 Like

@encoremarketing , Glad I helped, I was testing it, so sorry if you received unwanted emails from me.

@Abdosamer Not at all! Your help and troubleshooting was much appreciated. I have an additional question, I am not receiving a thank you message after the form is submitted. I see this in the code, but am wondering why its not triggering a thank you message.

1 Like

@encoremarketing , can you send a full screenshot of the whole file?

1 Like

@encoremarketing ,can you please paste the code here?, I can’t see clearly everything.

1 Like

@Abdosamer

{{ ‘section-contact-form.css’ | asset_url | stylesheet_tag }}

{%- style -%}
.section-{{ section.id }}-padding {
padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
}

@media screen and (min-width: 750px) {
.section-{{ section.id }}-padding {
padding-top: {{ section.settings.padding_top }}px;
padding-bottom: {{ section.settings.padding_bottom }}px;
}
}
{%- endstyle -%}

{%- if section.settings.heading != blank -%}

{{ section.settings.heading }}

{%- else -%}

{{ 'templates.contact.form.title' | t }}

{%- endif -%} {%- liquid assign contact_form_class = 'isolate' if settings.animations_reveal_on_scroll assign contact_form_class = 'isolate scroll-trigger animate--slide-in' endif -%} {%- form 'contact', id: 'ContactForm', class: contact_form_class -%} {%- if form.posted_successfully? -%}

Thanks for contacting us! We will get in touch with you shortly.

{% render 'icon-success' %} {{ 'templates.contact.form.post_success' | t }}

{%- elsif form.errors -%}

{% render 'icon-error' %} {{ 'templates.contact.form.error_heading' | t }}

{%- endif -%}
{{ 'templates.contact.form.name' | t }}
{{- 'templates.contact.form.email' | t }} * {%- if form.errors contains 'email' -%} {{ 'accessibility.error' | t }} {%- render 'icon-error' -%} {{- form.errors.translated_fields.email | capitalize }} {{ form.errors.messages.email -}} {%- endif -%}
{{ 'templates.contact.form.phone' | t }}
{{- form.body -}} {{- 'templates.contact.form.comment' | t -}}
{{ 'templates.contact.form.send' | t }}
{%- endform -%}

{% schema %}
{
“name”: “t:sections.contact-form.name”,
“tag”: “section”,
“class”: “section”,
“disabled_on”: {
“groups”: [“header”, “footer”]
},
“settings”: [
{
“type”: “inline_richtext”,
“id”: “heading”,
“default”: “Contact form”,
“label”: “Heading”
},
{
“type”: “select”,
“id”: “heading_size”,
“options”: [
{
“value”: “h2”,
“label”: “t:sections.all.heading_size.options__1.label”
},
{
“value”: “h1”,
“label”: “t:sections.all.heading_size.options__2.label”
},
{
“value”: “h0”,
“label”: “t:sections.all.heading_size.options__3.label”
}
],
“default”: “h1”,
“label”: “t:sections.all.heading_size.label”
},
{
“type”: “color_scheme”,
“id”: “color_scheme”,
“label”: “t:sections.all.colors.label”,
“default”: “background-1”
},
{
“type”: “header”,
“content”: “t:sections.all.padding.section_padding_heading”
},
{
“type”: “range”,
“id”: “padding_top”,
“min”: 0,
“max”: 100,
“step”: 4,
“unit”: “px”,
“label”: “t:sections.all.padding.padding_top”,
“default”: 36
},
{
“type”: “range”,
“id”: “padding_bottom”,
“min”: 0,
“max”: 100,
“step”: 4,
“unit”: “px”,
“label”: “t:sections.all.padding.padding_bottom”,
“default”: 36
}
],
“presets”: [
{
“name”: “t:sections.contact-form.presets.name”
}
]
}
{% endschema %}

1 Like

@encoremarketing , In this piece of code :

{%- form 'contact', id: 'ContactForm', class: contact_form_class -%}
{%- if form.posted_successfully? -%}

Thanks for contacting us! We will get in touch with you shortly.

## 
{% render 'icon-success' %}
{{ 'templates.contact.form.post_success' | t }}

Remove this line :


Thanks for contacting us! We will get in touch with you shortly.

You don’t need this line , this line should be rendered when the form successfully submitted :

{{ 'templates.contact.form.post_success' | t }}

I test it and it render the element but not the content inside it , so I need you to check for the content first.
From your theme files go to the Locales directory :

Choose the en.default.json file:
search for this piece of code :

If you don’t find the message there, send me a screenshot.

@Abdosamer Thank you! I deleted that line, I had seen you needed to add it in another forum and thought that might be the issue. I checked and that message is there

@Abdosamer I figured it out thanks for your help