Hello, I am new to the forum, but I have been using WiX Velo for 1 year already. After 2 days of reading on forum, it was impossible for me to find the solution to my code error.
Can you help me?
Context :
-Customer subscription form executed by a third party partner (restricted access)
-Three dataset:
Members/Customer/Partner
Wish :
-Check all the fields before sending the form
-Then return to another page with a timer
Fields to check:
-E-mail (with double verification)
-Switch
-Text
Script errors during publication:
-No text message if validation or error
-E-mail verification field does not appear
Prerequisites:
All data fields are connected to the dataset, including buttons (new / Send) + messages if error / validation
--------------- ERROR MESSAGE ------------------
--------------- THE PAGE ------------------
--------------- THE CODE ------------------
import wixData from “wix-data” ;
import wixUsers from “wix-users” ;
import { local } from “wix-storage” ;
import { doRegistration } from “backend/register” ;
import wixLocation from “wix-location” ;
$w . onReady ( function () {
const validateEmail = ( otherEmailElementId ) => ( value , reject ) => {
let otherEmailElement = $w ( otherEmailElementId );
if ( value === otherEmailElement.value ) {
otherEmailElement.validity.valid = **true** ;
otherEmailElement . resetValidityIndication ();
**return** ;
}
console . log ( "Email and Confirm Your Email fields do not match" );
otherEmailElement.validity.valid = **false** ;
otherEmailElement . updateValidityIndication ();
reject ( "Email and Confirm Email fields do not match" );
};
$w ( "#emailClientConfirm" ). onCustomValidation ( validateEmail ( "#emailClient" ));
$w ( "#emailClient" ). onCustomValidation ( validateEmail ( "#emailConfirmInput" ));
$w ( "#datasetClient" ). onBeforeSave (() => {
if (!( $w ( "#ageAppareil" ). checked && $w ( "#conformiteAppareil" ). checked &&
$w ( "#dida" ). checked &&
$w ( "#prenomClient" ). valid && $w ( "#nomClient" ). valid && $w ( "#emailClient" ). valid &&
$w ( "#telephoneClient" ). valid && $w ( "#addresseClient" ). valid &&
$w ( "#cga" ). checked && $w ( "#rgpd" ). checked && $w ( "#informations" ). checked && $w ( "#politiqueConfidentialite" ). checked )) {
let validationMessage = "" ;
if (! $w ( "#ageAppareil" ). checked && ! $w ( "#conformiteAppareil" ). checked )
validationMessage += "Veuillez valider la conformité âge/état de/des appareil.s\n" ;
if (! $w ( "#dida" ). checked )
validationMessage += "Veuillez confirmer la connaissance du DIPA\n" ;
if (! $w ( "#prenomClient" ). valid && ! $w ( "#nomClient" ). valid )
validationMessage += "Veuillez entrer votre nom/prénom\n" ;
if (! $w ( "#emailClient" ). valid ) {
if (! $w ( "#emailClient" ). value )
validationMessage += "Veuillez entrer votre adresse email\n" ;
**else if** ( $w ( "#emailClient" ). value !== $w ( "#emailClientConfirm" ). value ) {
validationMessage += "Les adresses emails ne correspondent pas\n" ;
}
}
if (! $w ( "#telephoneClient" ). valid )
validationMessage += "Veuillez entrer un numéro de téléphone valide\n" ;
if (! $w ( "#addresseClient" ). valid )
validationMessage += "Veuillez entrer une adresse valide\n" ;
if (! $w ( "#cga" ). checked && ! $w ( "#rgpd" ). checked && ! $w ( "#informations" ). checked && ! $w ( "#politiqueConfidentialite" ). checked )
validationMessage += "Veuillez vérifier avoir bien pris connaissance et accepté les Termes et Conditions\n" ;
$w ( "#textError" ). text = validationMessage ;
$w ( "#textError" ). show ();
} **else** {
$w ( "#textError" ). hide ();
$w ( "#textValidation" ). show ();
$w ( "#datasetClient" ). onAfterSave (() => {
setTimeout (() => {
wixLocation . to ( "https://www.mobisure.fr/mes-clients" );
}, 10000 );
});
}
});
// Filter Partner connected
let user = wixUsers.currentUser ;
let userId = user.id ; // "r5cme-6fem-485j-djre-4844c49"
user . getEmail ()
. then (( email ) => {
let userEmail = email ; // "user@something.com"
console . log ( userEmail );
console . log ( userId );
$w ( "#datasetPartenaire" ). setFilter ( wixData.filter ()
. eq ( "email" , userEmail )
);
});
$w ( "#mobiriscNiveau" ). value = "" ;
$w ( "#telephoneClient" ). value = $w ( "#indicatifTelephoneClient" ). value ;
// Customer Register
$w ( "#buttonSubmit" ). onClick ( function () {
let email = $w ( "#emailClient" ). value ;
let password = $w ( "#passwordClient" ). value ;
let civilite = $w ( "#civiliteClient" ). value ;
let lastName = $w ( "#nomClient" ). value ;
let firstName = $w ( "#prenomClient" ). value ;
let language = "fr" ;
let nickname = $w ( "#civiliteClient" ). value + " " + $w ( "#nomClient" ). value + " " + $w ( "#prenomClient" ). value ;
let phones = $w ( "#telephoneClient" ). value ;
let adress = $w ( "#addresseClient" ). value ;
let titulairecompte = $w ( "#titulaireCompteClient" ). value ;
let iban = $w ( "#ibanClient" ). value ;
let bic = $w ( "#bicClient" ). value ;
let codemagasin = $w ( "#codeMagasin" ). value ;
doRegistration ( email , password , firstName , lastName , phones , language )
. then (() => {
console . log ( "Confirmation email sent." );
});
});
// Date Picker Legal Age
let today = **new** Date ();
let startDate = **new** Date ( today );
startDate . setMonth ( startDate.getMonth () - 1188 ); // Start Date -99 years from today //
let endDate = **new** Date ( today );
endDate . setMonth ( endDate.getMonth () - 216 ); // End Date -18 years from today //
// Set min & max dates //
$w ( "#dateNaissanceClient" ). value = endDate ;
$w ( "#dateNaissanceClient" ). minDate = startDate ;
$w ( "#dateNaissanceClient" ). maxDate = endDate ;
// Plafond de réparation
$w ( "#plafondContrat" ). value = "0/3" ;
});
// Déjà Client
/////////////////////
// New Customer + Infos Partners
export function button237_click ( event ) {
$w ( “#loader” ). hide ();
$w ( “#columnStrip37” ). expand ();
$w ( “#button237” ). hide ();
let user = wixUsers.currentUser ;
let userId = user.id ; // "r5cme-6fem-485j-djre-4844c49"
user . getEmail ()
. then (( email ) => {
let userEmail = email ; // "user@something.com"
console . log ( userEmail );
console . log ( userId );
local . setItem ( "searchPartenaire" , userEmail );
wixData . query ( "multiStepRegistrationForm29" ) //Trouve les infos du partenaire
. eq ( "email" , userEmail )
. find ()
. then (( results ) => {
if ( results.items.length > 0 ) {
console . log ( "Items-found" )
let Item = results.items [ 0 ];
$w ( "#datasetPartenaire" ). setFilter ( wixData.filter () // Filtre le partenaire connecté
. eq ( "email" , userEmail )); {
$w ( "#emailPartenaire" ). value = Item . email ;
$w ( "#codeMagasin" ). value = Item . codeMagasin ;
$w ( "#formule" ). value = Item . copieDeTypeDePartenaire ;
}
} **else** {
$w ( "#codeMagasin" ). value = **null** ;
$w ( "#emailPartenaire" ). value = **null** ;
$w ( "#formule" ). value = **null** ;
}
});
});
}
// Vérification E-mail
export function buttonVerifEmailClient_click ( event ) {
let emailVerifNew = $w ( “#emailClient” ). value ;
wixData . query ( “Members/PrivateMembersData” )
. eq ( “loginEmail” , emailVerifNew )
. find ()
. then (( results ) => {
if ( results.items.length > 0 ) {
$w ( “#validMessageNew” ). show ();
$w ( “#emailClientConfirm” ). show ();
} else {
$w ( “#errorMessageNew” ). show ();
$w ( “#emailClientConfirm” ). hide ();
}
});
}
export function emailClient_change ( event ) {
$w ( “#validMessageNew” ). hide ();
$w ( “#errorMessageNew” ). hide ();
$w ( “#emailClientConfirm” ). hide ();
}
/////////// …
------------- Thank’s