$a_formRules[] = new FormRule(FormRuleType::minimumValue, $o_fe_age, 18); $a_formRules[] = new FormRule(FormRuleType::maximumValue, $o_fe_age, 100); //additional rules for DOB $a_formRules[] = new FormRule(FormRuleType::date, $o_fe_dob, 'dd/mm/yyyy'); //A unique case, when checking if passwords match pass the two fields as an array into the second argument. $a_formRules[] = new FormRule(FormRuleType::minimumLength, $o_fe_userPass, 8); //You could also specify "user_pass" for the 3rd paramater. This string would attempt to map back to the form matching that id. $a_formRules[] = new FormRule(FormRuleType::fieldMatch, $o_fe_userPass2, $o_fe_userPass, 'Passwords do not match'); /*----------------------------*/ /*CREATE FORM AND ADD ELEMENTS*/ /*----------------------------*/ $o_form = new JsonFormBuilder($modx, 'myContactForm'); $o_form->setRedirectDocument(3); $o_form->addRules($a_formRules); //Specify to and from email addresses, also see replyTo, CC and BCC options. $o_form->setEmailToName('To Name'); $o_form->setEmailToAddress($modx->getOption('emailsender')); //You can set CC or BCC options //$o_form->setEmailCCAddress('*****@*****.**'); //$o_form->setEmailBCCAddress('*****@*****.**'); //or you can use an array of addresses like so. //$o_form->setEmailToAddress(array('*****@*****.**','*****@*****.**')); $o_form->setEmailFromAddress($o_form->postVal('email_address')); $o_form->setEmailFromName($o_form->postVal('name_full')); $o_form->setEmailSubject('MyCompany Contact Form Submission - From: ' . $o_form->postVal('name_full')); $o_form->setEmailHeadHtml('<p>This is a response sent by ' . $o_form->postVal('name_full') . ' using the contact us form:</p>'); $o_form->setJqueryValidation(true); $o_form->setPlaceholderJavascript('JsonFormBuilder_myForm'); //Set extra classes on your form elements (adds to the wrapper and the inner element). $a_els = array($o_fe_name, $o_fe_age, $o_fe_dob, $o_fe_attend, $o_fe_username, $o_fe_email, $o_fe_userPass, $o_fe_userPass2, $o_fe_address, $o_fe_city, $o_fe_usstates, $o_fe_postcode, $o_fe_staff); foreach ($a_els as $e) {