import React from "react"; import { sendLeasingOrder } from "../../../actions"; export default class FormRequest extends React.Component { constructor(props) { super(props); this.state = { name: "", phone: "", email: "", company: "", accept: true, success: false, leasing_form_submitting: false, errors: {}, }; } isEmail = (email) => { var regex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return regex.test(email); } checkErrors = () => { let valid = true; let errors = {}; const { name, phone, email } = this.state; if(name === "") { valid = false; errors['name'] = "Необходимо указать Ваши ФИО"; } if(phone === "") { valid = false; errors['phone'] = "Необходимо указать номер Вашего телефона"; } if(email === "") { valid = false; errors['email'] = "Необходимо указать Ваш адрес E-mail"; } else { if(!this.isEmail(email)) { valid = false; errors['email'] = "Пожалуйста, укажите правильный адрес E-mail"; } } this.setState({ errors: errors }); return valid; } _onFormSubmit = (event) => { event.preventDefault(); const { accept, leasing_form_submitting } = this.state; if(accept && !leasing_form_submitting && this.checkErrors()) { this.setState({ leasing_form_submitting: true }, () => { sendLeasingOrder(this.state) .then(() => { this.setState({ leasing_form_submitting: false, success: true }); }) .catch(() => { this.setState({ leasing_form_submitting: false, success: false }); }); }); } } _handle_onChange_name = (value) => { const errors = { ...this.state.errors }; errors.name = undefined; this.setState({ name: value, errors: errors }); } _handle_onChange_phone = (value) => { const errors = { ...this.state.errors }; errors.phone = undefined; this.setState({ phone: value, errors: errors }); } _handle_onChange_email = (value) => { const errors = { ...this.state.errors }; errors.email = undefined; this.setState({ email: value, errors: errors }); } _handle_onChange_accept = (accept) => { console.log(accept); this.setState({ accept: accept }); } _handle_onPersonaData = () => { window.open(`${ process.env.NEXT_PUBLIC_MAIN_SITE }/personal_data/`, "_blank"); } render() { const { name, phone, email, company, accept, success, errors } = this.state; return (

Купить в лизинг?

Напишите на buy@evoleasing.ru или заполните форму

this._onFormSubmit(event) }> { !success ? ( <>
this._handle_onChange_name(event.target.value) }/>
this._handle_onChange_phone(event.target.value) }/>
this._handle_onChange_email(event.target.value) }/>
this.setState({ company: event.target.value }) }/>
this._handle_onChange_accept(event.target.checked) }/>
) : (

Благодарим Вас за обращение, наши специалисты свяжутся с Вами в ближайшее время.

) }
) } }