function dx_Fields_validateInput() { } function dx_ValidateTextField(s, e) { } String.prototype.trim = function () { return (this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "")) } String.prototype.startsWith = function (str) { return (this.match("^" + str) == str) } String.prototype.endsWith = function (str) { return (this.match(str + "$") == str) } function dx_Fields_validateInput2(validationString, field, message) { //it looks like the origina function of this name somehow disappeared and we couldn't find it. //so this is an attempt to recreate it. //the first parameter is the validationString as the user has entered it in form setup. //field is the input / textbox / whatever. message is an optional parameter that allows the user to display what they want, //if the validation fails. //mostly i am trying to turn the various validation types into regular expressions. var showError = false; //If the field is empty, we don't want to trap the user forever, so if it's empty, let them out if (field.value == "") { field.style.background = ''; return; } if (message == null || message == "") { message = "Input does not match validation string '" + validationString + "'."; } if (validationString.startsWith("maxlen=") && validationString.length > "maxlen=".length) { validationString = "regexp=^[^\\s]{0," + validationString.substr("maxlen=".length) + "}$"; } else if (validationString.startsWith("maxlength=") && validationString.length > "maxlength=".length) { validationString = "regexp=^[^\\s]{0," + validationString.substr("maxlength=".length) + "}$"; } else if (validationString.startsWith("minlen=") && validationString.length > "minlen=".length) { validationString = "regexp=[^\\s]{" + validationString.substr("minlen=".length) + "}"; } else if (validationString.startsWith("minlength=") && validationString.length > "minlength=".length) { validationString = "regexp=[^\\s]{" + validationString.substr("minlength=".length) + "}"; } else if (validationString.startsWith("alnum_s") || validationString.startsWith("alphanumeric_space")) { validationString = "regexp=^[0-9a-zA-Z\\s]*$"; } else if (validationString.startsWith("alnum") || validationString.startsWith("alphanumeric")) { validationString = "regexp=^[0-9a-zA-Z]*$"; } else if (validationString.startsWith("alpha_s") || validationString.startsWith("alphabetic_space")) { validationString = "regexp=^[a-zA-Z\\s]*$"; } else if (validationString.startsWith("alpha") || validationString.startsWith("alphabetic")) { validationString = "regexp=^[a-zA-Z]*$"; } else if (validationString.startsWith("email")) { validationString = "regexp=[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"; } else if (validationString.startsWith("time")) { validationString = "regexp=^(1[012]|[1-9]):[0-5][0-9](\\s)?(am|pm|AM|PM){0,1}$" } if (validationString.startsWith("regexp=") && validationString.length > "regexp=".length) { var theRegExp = new RegExp(validationString.substr("regexp=".length)); if (theRegExp.exec(field.value) == null) { showError = true; } } else if (validationString.startsWith("lt=") && validationString.length > "lt=".length && field.value.length > 0) { if (!parseFloat(validationString.substr("lt=".length))) { //this means there is something screwy with the validation string. so we won't give them an error. } else { if (!parseFloat(field.value) || parseFloat(field.value) >= parseFloat(validationString.substr("lt=".length))) { showError = true; } } } else if (validationString.startsWith("lessthan=") && validationString.length > "lessthan=".length && field.value.length > 0) { if (!parseFloat(validationString.substr("lessthan=".length))) { //this means there is something screwy with the validation string. so we won't give them an error. } else { if (!parseFloat(field.value) || parseFloat(field.value) >= parseFloat(validationString.substr("lessthan=".length))) { showError = true; } } } else if (validationString.startsWith("gt=") && validationString.length > "gt=".length && field.value.length > 0) { if (!parseFloat(validationString.substr("gt=".length))) { //this means there is something screwy with the validation string. so we won't give them an error. } else { if (!parseFloat(field.value) || parseFloat(field.value) <= parseFloat(validationString.substr("gt=".length))) { showError = true; } } } else if (validationString.startsWith("greaterthan=") && validationString.length > "greaterthan=".length && field.value.length > 0) { if (!parseFloat(validationString.substr("greaterthan=".length))) { //this means there is something screwy with the validation string. so we won't give them an error. } else { if (!parseFloat(field.value) || parseFloat(field.value) <= parseFloat(validationString.substr("greaterthan=".length))) { showError = true; } } } else if (validationString.startsWith("BETWEEN=") && validationString.length > "BETWEEN=".length && field.value.length > 0) { min = validationString.substr("BETWEEN=".length).split(",")[0]; max = validationString.substr("BETWEEN=".length).split(",")[1]; if (!parseFloat(min) || !parseFloat(max)) { //this means there is something screwy with the validation string. so we won't give them an error. } else { if (!$.isNumeric(field.value)) { message = "Value is not numeric."; showError = true; } else if (parseFloat(field.value) < parseFloat(min) || parseFloat(field.value) > parseFloat(max)) { message = "Number is not between " + min + " and " + max + "."; showError = true; } } } else if (validationString.startsWith("between=") && validationString.length > "between=".length && field.value.length > 0) { min = validationString.substr("between=".length).split(",")[0]; max = validationString.substr("between=".length).split(",")[1]; if (!parseFloat(min) || !parseFloat(max)) { //this means there is something screwy with the validation string. so we won't give them an error. } else { if (!$.isNumeric(field.value)) { message = "Value is not numeric."; showError = true; } else if (parseFloat(field.value) <= parseFloat(min) || parseFloat(field.value) >= parseFloat(max)) { message = "Number is not exclusively between " + min + " and " + max + "."; showError = true; } } } if (showError) { field.style.background = 'Red'; swal({ title: "Validation Failed", text: message, type: "warning", showCancelButton: false }).then(function () { field.focus(); });//Sweet alert 2 return; } field.style.background = ''; }