Hi All
I have a form with four fields. I need some help with the validation.
The first three fields (Visit 1, Visit 2 and Visit 3) cannot be completed unless a yes radio button is selected from top.
I need to make the fourth field (Purchase) exempt from the yes/no so it can be filled in regardless. I cannot work out how to do this
I’ve also added code for the following:
If the second visit is completed without visit 1, a message prompts saying a second visit cannot be entered without the first.
I have tried to do the same with three. So visit 3 cannot be completed unless visit 2 has been completed, but this isn’t working. It lets me submit the form
Lastly, if i add a date in the future for purchase (fouth field) without completing the above fields, i don’t get a prompt indicating a date cannot be entered in the future.
This only works if i’ve completed the first three fields
UserDefinedJavascript.OnAfterFormInitialise = function ()
{
try
{
var WishesToReceiveReceipt = '';
if (UserDefinedJavascript.DocumentMode == 'Edit') {
WishesToReceiveReceipt = GetRadioButtonListValue(GetControl("WishesToReceiveReceipt"));
}
else {
WishesToReceiveReceipt = GetControl("WishesToReceiveReceiptID").value;
}
var optOutReason = '';
if (UserDefinedJavascript.DocumentMode == 'Edit') {
optOutReason = getComboboxValue("OptOutReason");
}
else {
optOutReason = GetControl("OptOutReasonDesc").value.replace(/\n/g, '');
}
if (WishesToReceiveReceipt == '0') {
UserDefinedJavascript.ToggleOptOutReason('1');
} else {
UserDefinedJavascript.ToggleOptOutReason('0');
}
if (optOutReason == 'Other Reason') {
UserDefinedJavascript.ToggleOptOutOtherReasonDetails('1');
} else {
UserDefinedJavascript.ToggleOptOutOtherReasonDetails('0');
}
if (UserDefinedJavascript.DocumentMode == 'Edit') {
UserDefinedJavascript.ToggleVisitFields(WishesToReceiveReceipt);
}
}
catch (e)
{
window.alert(e.message + "\nUserDefinedJavascript.OnAfterFormInitialise()");
}
}
UserDefinedJavascript.OnAfterCheckData = function ()
{
try
{
var now = new Date();
now.setSeconds(0);
now.setMilliseconds(0);
var WishesToReceiveReceipt = GetRadioButtonListValue(GetControl("WishesToReceiveReceipt"));
// Yes - 1, No - 0
if (WishesToReceiveReceipt == '0') {
// Validate Opt Out Reason
if (!validateCombobox("OptOutReason", "Reason for Not Engaging")) return false;
var optOutReason = getComboboxValue("OptOutReason");
// Validate Opt Out Other Reason Details
if (optOutReason == 'Other Reason') {
if (!validateText("OptOutOtherReasonDetails", "Other Reason Details", true)) return false;
}
} else {
// Validate Visit 1 Date Given.
if (!isDate("Visit1DateGiven", "First Visit - Date Given", false)) return false;
var Visit1DateGiven = GetControl("Visit1DateGiven");
if (Visit1DateGiven.value == '') {
var Visit1BrandOfCar = GetControl("Visit1BrandOfCar");
if (Visit1BrandOfCar.value != '-1') {
window.alert("Visit 1 - Date Given cannot be blank if Brand of Car selected.");
Visit1DateGiven.focus();
return false;
}
} else {
var Visit1DateGivenDttm = getDateTime(Visit1DateGiven.value);
Visit1DateGivenDttm.setSeconds(0);
Visit1DateGivenDttm.setMilliseconds(0);
if (DateDiff('s', Visit1DateGivenDttm, now) < 0) {
window.alert("First Visit - Date Given cannot be in the future.");
Visit1DateGiven.focus();
return false;
}
if (!validateCombobox("Visit1BrandOfCar", "First Visit - Brand of Car")) return false;
}
// Validate Visit 2 Date Given.
if (!isDate("Visit2DateGiven", "Second Visit - Date Given", false)) return false;
var Visit2DateGiven = GetControl("Visit2DateGiven");
if (Visit2DateGiven.value == '') {
var Visit2BrandOfCar = GetControl("Visit2BrandOfCar");
if (Visit2BrandOfCar.value != '-1') {
window.alert("Second Visit - Date Given cannot be blank if Brand of Car selected.");
Visit2DateGiven.focus();
return false;
}
} else {
var Visit2DateGivenDttm = getDateTime(Visit2DateGiven.value);
Visit2DateGivenDttm.setSeconds(0);
Visit2DateGivenDttm.setMilliseconds(0);
if (DateDiff('s', Visit2DateGivenDttm, now) < 0) {
window.alert("Second Visit - Date Given cannot be in the future.");
Visit2DateGiven.focus();
return false;
}
if (!validateCombobox("Visit2BrandOfCar", "Second Visit - Brand of Car")) return false;
if (Visit1DateGiven.value == '') {
window.alert("Second Visit details cannot be entered without First Visit details.");
Visit2DateGiven.focus();
return false;
} else {
var Visit1DateGivenDttm = getDateTime(Visit1DateGiven.value);
Visit1DateGivenDttm.setSeconds(0);
Visit1DateGivenDttm.setMilliseconds(0);
if (DateDiff('s', Visit1DateGivenDttm, Visit2DateGivenDttm) < 0) {
window.alert("Second Visit- Date Given cannot be less than First Visit - Date Given.");
Visit2DateGiven.focus();
return false;
}
// Validate Visit 3 Date Given.
if (!isDate("Visit3DateGiven", "Visit - Date Given", false)) return false;
var Visit3DateGiven = GetControl("Visit3DateGiven");
if (Visit3DateGiven.value == '') {
var Visit3BrandOfCar = GetControl("Visit3BrandOfCar");
if (Visit3BrandOfCar.value != '-1') {
window.alert("Booster - Date Given cannot be blank if Brand of Car selected.");
Visit3DateGiven.focus();
return false;
}
} else {
var Visit3DateGivenDttm = getDateTime(Visit3DateGiven.value);
Visit3DateGivenDttm.setSeconds(0);
Visit3DateGivenDttm.setMilliseconds(0);
if (DateDiff('s', Visit3DateGivenDttm, now) < 0) {
window.alert("Booster - Date Given cannot be in the future.");
Visit3DateGiven.focus();
return false;
}
if (!validateCombobox("Visit3BrandOfCar", "Third Visit - Brand of Car")) return false;
if (Visit2DateGiven.value == '') {
window.alert("Booster details cannot be entered without Second visit details.");
Visit3DateGiven.focus();
return false;
} else {
var Visit2DateGivenDttm = getDateTime(Visit2DateGiven.value);
Visit2DateGivenDttm.setSeconds(0);
Visit2DateGivenDttm.setMilliseconds(0);
if (DateDiff('s', Visit2DateGivenDttm, Visit3DateGivenDttm) < 0) {
window.alert("Visit 3 - Date Given cannot be less than Second Visit - Date Given.");
Visit3DateGiven.focus();
return false;
}
// Validate Purchase Date Given.
if (!isDate("PurchaseDateGiven", "Purchase - Date Given", false)) return false; {
var PurchaseDateGiven = GetControl("PurchaseDateGiven");
var PurchaseDateGivenDttm = getDateTime(PurchaseDateGiven.value);
PurchaseDateGivenDttm.setSeconds(0);
PurchaseDateGivenDttm.setMilliseconds(0);
if (DateDiff('s', PurchaseDateGivenDttm, now) < 0) {
window.alert("Purchase - Date Given cannot be in the future.");
PurchaseDateGiven.focus();
return false;
}
}
}
}
}
}
}
}
catch (e)
{
window.alert(e.message + "\nUserDefinedJavascript.OnAfterCheckData()");
return false;
}
}
UserDefinedJavascript.ToggleOptOutReason = function (enable)
{
try
{
var rwOptOutReason = GetControl("rwOptOutReason");
// Yes - 1, No - 0
if (enable == '1') {
rwOptOutReason.style.display = 'table-row';
if (UserDefinedJavascript.DocumentMode == 'Edit') {
ControlStateManager.ToggleElement("lblOptOutReasonLabel", "OptOutReason", true, true, false, false);
}
} else {
rwOptOutReason.style.display = 'none';
if (UserDefinedJavascript.DocumentMode == 'Edit') {
ControlStateManager.ToggleElement("lblOptOutReasonLabel", "OptOutReason", true, false, false, false);
}
}
}
catch (e)
{
window.alert(e.message + "\nUserDefinedJavascript.ToggleOptOutReason()");
}
}
UserDefinedJavascript.ToggleOptOutOtherReasonDetails = function (enable)
{
try
{
var rwOptOutOtherReasonDetails = GetControl("rwOptOutOtherReasonDetails");
// Yes - 1, No - 0
if (enable == '1') {
rwOptOutOtherReasonDetails.style.display = 'table-row';
if (UserDefinedJavascript.DocumentMode == 'Edit') {
ControlStateManager.ToggleElement("lblOptOutOtherReasonDetailsLabel", "OptOutOtherReasonDetails", true, true, false, false);
}
} else {
rwOptOutOtherReasonDetails.style.display = 'none';
if (UserDefinedJavascript.DocumentMode == 'Edit') {
ControlStateManager.ToggleElement("lblOptOutOtherReasonDetailsLabel", "OptOutOtherReasonDetails", true, false, false, false);
}
}
}
catch (e)
{
window.alert(e.message + "\nUserDefinedJavascript.ToggleOptOutOtherReasonDetails()");
}
}
UserDefinedJavascript.ToggleVisitFields = function (enable)
{
try
{
if (UserDefinedJavascript.DocumentMode == 'Edit') {
// Yes - 1, No - 0
if (enable == '1') {
ControlStateManager.ToggleElement("lblVisit1DateGivenLabel", "Visit1DateGiven", true, false, false, false);
ControlStateManager.ToggleElement("lblVisit1BrandOfCarLabel", "Visit1BrandOfCar", true, false, false, false);
ControlStateManager.ToggleElement("lblVisit2DateGivenLabel", "Visit2DateGiven", true, false, false, false);
ControlStateManager.ToggleElement("lblVisit2BrandOfCarLabel", "Visit2BrandOfCar", true, false, false, false);
ControlStateManager.ToggleElement("lblVisit3DateGivenLabel", "Visit3DateGiven", true, false, false, false);
ControlStateManager.ToggleElement("lblVisit3BrandOfCarLabel", "Visit3BrandOfCar", true, false, false, false);
} else {
ControlStateManager.ToggleElement("lblVisit1DateGivenLabel", "Visit1DateGiven", false, false, true, true);
ControlStateManager.ToggleElement("lblVisit1BrandOfCarLabel", "Visit1BrandOfCar", false, false, true, true);
ControlStateManager.ToggleElement("lblVisit2DateGivenLabel", "Visit2DateGiven", false, false, true, true);
ControlStateManager.ToggleElement("lblVisit2BrandOfCarLabel", "Visit2BrandOfCar", false, false, true, true);
ControlStateManager.ToggleElement("lblVisit3DateGivenLabel", "Visit3DateGiven", false, false, true, true);
ControlStateManager.ToggleElement("lblVisit3BrandOfCarLabel", "Visit3BrandOfCar", false, false, true, true);
}
}
}
catch (e)
{
window.alert(e.message + "\nUserDefinedJavascript.ToggleVisitFields()");
}
}
UserDefinedJavascript.WishesToReceiveReceipt_Click = function ()
{
try
{
// Show/hide opt out reason fields and enable/disable Visit fields if required.
var WishesToReceiveReceipt = GetRadioButtonListValue(GetControl("WishesToReceiveReceipt"));
if (WishesToReceiveReceipt == '0') {
UserDefinedJavascript.ToggleOptOutReason('1');
} else {
UserDefinedJavascript.ToggleOptOutReason('0');
}
UserDefinedJavascript.ToggleOptOutOtherReasonDetails('0');
// Yes - 1, No - 0
if (WishesToReceiveReceipt == '1') {
GetControl("OptOutReason").value = '-1';
GetControl("OptOutOtherReasonDetails").value = '';
} else {
GetControl("Visit1DateGiven").value = '';
GetControl("Visit1BrandOfCar").value = '-1';
GetControl("Visit2DateGiven").value = '';
GetControl("Visit2BrandOfCar").value = '-1';
GetControl("Visit3DateGiven").value = '';
GetControl("Visit3BrandOfCar").value = '-1';
}
UserDefinedJavascript.ToggleVisitFields(WishesToReceiveReceipt);
}
catch (e)
{
window.alert(e.message + "\nUserDefinedJavascript.WishesToReceiveReceipt_Click()");
}
}
UserDefinedJavascript.OptOutReason_Change = function ()
{
try
{
// Show/hide opt out reason other details and blank field if required.
var optOutReason = getComboboxValue("OptOutReason");
if (optOutReason == 'Other Reason') {
UserDefinedJavascript.ToggleOptOutOtherReasonDetails('1');
} else {
UserDefinedJavascript.ToggleOptOutOtherReasonDetails('0');
}
if (optOutReason != 'Other Reason') {
var optOutOtherReasonDetails = GetControl("OptOutOtherReasonDetails");
optOutOtherReasonDetails.value = '';
}
}
catch (e)
{
window.alert(e.message + "\nUserDefinedJavascript.OptOutReason_Change()");
}
}
Thanks for your time