Added non-zero validation on form submission
This commit is contained in:
parent
dbf1e3001f
commit
17ea2939a7
1 changed files with 32 additions and 23 deletions
|
|
@ -94,8 +94,7 @@ function require_room_dimensions(option) {
|
|||
function require_mechanical_ventilation(option) {
|
||||
$("#air_type_changes").prop('required', option);
|
||||
$("#air_type_supply").prop('required', option);
|
||||
if (!option)
|
||||
{
|
||||
if (!option) {
|
||||
removeInvalid("air_changes");
|
||||
removeInvalid("air_supply");
|
||||
}
|
||||
|
|
@ -160,7 +159,6 @@ function require_hepa(option) {
|
|||
}
|
||||
|
||||
function setMaxInfectedPeople() {
|
||||
|
||||
$("#training_limit_error").hide();
|
||||
var max = $("#total_people").val()
|
||||
|
||||
|
|
@ -223,9 +221,14 @@ function show_disclaimer() {
|
|||
|
||||
/* -------Form validation------- */
|
||||
function validate_form(form) {
|
||||
|
||||
var submit = true;
|
||||
|
||||
//Validate all non zero values
|
||||
$("input[required].non_zero").each(function() {
|
||||
if (!validateValue(this))
|
||||
submit = false;
|
||||
});
|
||||
|
||||
//Validate all dates
|
||||
$("input[required].datepicker").each(function() {
|
||||
if (!validateDate(this))
|
||||
|
|
@ -241,12 +244,11 @@ function validate_form(form) {
|
|||
return submit;
|
||||
}
|
||||
|
||||
function validateNonZeroOrEmpty(obj) {
|
||||
function validateValue(obj) {
|
||||
$(obj).removeClass("red_border");
|
||||
$(obj).next('span').remove();
|
||||
|
||||
if ($(obj).val() === "") return true;
|
||||
if ($(obj).val() == 0) {
|
||||
if (!isNonZeroOrEmpty($(obj).val())) {
|
||||
$(obj).addClass("red_border");
|
||||
insertSpanAfter(obj, "Value must be > 0");
|
||||
return false;
|
||||
|
|
@ -254,6 +256,13 @@ function validateNonZeroOrEmpty(obj) {
|
|||
return true;
|
||||
}
|
||||
|
||||
function isNonZeroOrEmpty(value) {
|
||||
if (value === "") return true;
|
||||
if (value == 0)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
function validateDate(obj) {
|
||||
$(obj).removeClass("red_border");
|
||||
$(obj).next('span').remove();
|
||||
|
|
@ -266,6 +275,18 @@ function validateDate(obj) {
|
|||
return true;
|
||||
}
|
||||
|
||||
function isValidDateOrEmpty(date) {
|
||||
if (date === "") return true;
|
||||
var matches = /^(\d+)[-\/](\d+)[-\/](\d+)$/.exec(date);
|
||||
if (matches == null) return false;
|
||||
var d = matches[1];
|
||||
var m = matches[2];
|
||||
var y = matches[3];
|
||||
if (y > 2100 || y < 1900) return false;
|
||||
var composedDate = new Date(y + '/' + m + '/' + d);
|
||||
return composedDate.getDate() == d && composedDate.getMonth() + 1 == m && composedDate.getFullYear() == y;
|
||||
}
|
||||
|
||||
function validateFinishTime(obj) {
|
||||
$(obj).removeClass("red_border");
|
||||
$(obj).next('span').remove();
|
||||
|
|
@ -293,20 +314,8 @@ function validateStartTime() {
|
|||
}
|
||||
}
|
||||
|
||||
function isValidDateOrEmpty(date) {
|
||||
if (date === "") return true;
|
||||
var matches = /^(\d+)[-\/](\d+)[-\/](\d+)$/.exec(date);
|
||||
if (matches == null) return false;
|
||||
var d = matches[1];
|
||||
var m = matches[2];
|
||||
var y = matches[3];
|
||||
if (y > 2100 || y < 1900) return false;
|
||||
var composedDate = new Date(y + '/' + m + '/' + d);
|
||||
return composedDate.getDate() == d && composedDate.getMonth() + 1 == m && composedDate.getFullYear() == y;
|
||||
}
|
||||
|
||||
function parseValToNumber(val) {
|
||||
return parseInt(val.replace(':',''), 10);
|
||||
return parseInt(val.replace(':',''), 10);
|
||||
}
|
||||
|
||||
/* -------On Load------- */
|
||||
|
|
@ -330,9 +339,9 @@ $(document).ready(function () {
|
|||
$("#total_people").change(setMaxInfectedPeople);
|
||||
$("#activity_type").change(setMaxInfectedPeople);
|
||||
|
||||
//Validate non zero values
|
||||
$("input[required].non_zero").each(function() {validateNonZeroOrEmpty(this)});
|
||||
$(".non_zero").change(function() {validateNonZeroOrEmpty(this)});
|
||||
//Validate all non zero values
|
||||
$("input[required].non_zero").each(function() {validateValue(this)});
|
||||
$(".non_zero").change(function() {validateValue(this)});
|
||||
|
||||
//Validate all dates
|
||||
$("input[required].datepicker").each(function() {validateDate(this)});
|
||||
|
|
|
|||
Loading…
Reference in a new issue