Skip to content
Snippets Groups Projects
Commit 01210d80 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

Fixed #524 - auto backup: reject "0" as interval

parent 0342b9d5
No related branches found
No related tags found
No related merge requests found
NUMBER_REGEX = new RegExp("^\\d+$"); REGEX_NUMBER = new RegExp("^\\d+$");
REGEX_NUMBER_GREATER_ZERO= new RegExp("^[1-9]\\d*$");
function validateNumber(text, ID, hiddenID, message) function validateNumber(text, ID, hiddenID, message, regex)
{ {
if(text.match(NUMBER_REGEX) == null) if(text.match(regex) == null)
{ {
addTooltip(ID, message); addTooltip(ID, message);
if(hiddenID != null) if(hiddenID != null)
......
...@@ -22,7 +22,7 @@ $(document).ready(function() ...@@ -22,7 +22,7 @@ $(document).ready(function()
{ {
autoBackupDays.on('change keydown paste input', function() autoBackupDays.on('change keydown paste input', function()
{ {
validateNumber(autoBackupDays.val(), 'settings-backup-auto-days', "hidden-settings-backup-auto-days", numberValidationMessage); validateNumber(autoBackupDays.val(), 'settings-backup-auto-days', "hidden-settings-backup-auto-days", numberValidationMessage, REGEX_NUMBER_GREATER_ZERO);
}); });
} }
...@@ -31,7 +31,7 @@ $(document).ready(function() ...@@ -31,7 +31,7 @@ $(document).ready(function()
{ {
autoBackupFilesToKeep.on('change keydown paste input', function() autoBackupFilesToKeep.on('change keydown paste input', function()
{ {
validateNumber(autoBackupFilesToKeep.val(), "settings-backup-auto-files-to-keep", "hidden-settings-backup-auto-files-to-keep", numberValidationMessageZeroAllowed); validateNumber(autoBackupFilesToKeep.val(), "settings-backup-auto-files-to-keep", "hidden-settings-backup-auto-files-to-keep", numberValidationMessageZeroAllowed, REGEX_NUMBER);
}); });
} }
...@@ -45,8 +45,8 @@ function validateForm() ...@@ -45,8 +45,8 @@ function validateForm()
let autoBackupCheckbox = document.getElementsByName("autoBackupActivated")[0]; let autoBackupCheckbox = document.getElementsByName("autoBackupActivated")[0];
if(autoBackupCheckbox.checked) if(autoBackupCheckbox.checked)
{ {
let autoBackupDaysValid = validateNumber($('#settings-backup-auto-days').val(), "settings-backup-auto-days", "hidden-settings-backup-auto-days", numberValidationMessage); let autoBackupDaysValid = validateNumber($('#settings-backup-auto-days').val(), "settings-backup-auto-days", "hidden-settings-backup-auto-days", numberValidationMessage, REGEX_NUMBER_GREATER_ZERO);
let autoBackupFilesToKeepValid = validateNumber($('#settings-backup-auto-files-to-keep').val(), "settings-backup-auto-files-to-keep", "hidden-settings-backup-auto-files-to-keep", numberValidationMessageZeroAllowed); let autoBackupFilesToKeepValid = validateNumber($('#settings-backup-auto-files-to-keep').val(), "settings-backup-auto-files-to-keep", "hidden-settings-backup-auto-files-to-keep", numberValidationMessageZeroAllowed, REGEX_NUMBER);
return autoBackupDaysValid && autoBackupFilesToKeepValid; return autoBackupDaysValid && autoBackupFilesToKeepValid;
} }
......
...@@ -125,7 +125,7 @@ $(document).ready(function() ...@@ -125,7 +125,7 @@ $(document).ready(function()
$(transactionRepeatingModifierID).on('change keydown paste input', function() $(transactionRepeatingModifierID).on('change keydown paste input', function()
{ {
// substr(1) removes "#" at the beginning // substr(1) removes "#" at the beginning
validateNumber($(this).val(), transactionRepeatingModifierID.substr(1), "hidden-" + transactionRepeatingModifierID.substr(1), numberValidationMessage); validateNumber($(this).val(), transactionRepeatingModifierID.substr(1), "hidden-" + transactionRepeatingModifierID.substr(1), numberValidationMessage, REGEX_NUMBER);
}); });
} }
...@@ -133,7 +133,7 @@ $(document).ready(function() ...@@ -133,7 +133,7 @@ $(document).ready(function()
{ {
$(transactionRepeatingEndAfterXTimesInputID).on('change keydown paste input', function() $(transactionRepeatingEndAfterXTimesInputID).on('change keydown paste input', function()
{ {
validateNumber($(this).val(), transactionRepeatingEndAfterXTimesInputID.substr(1), null, numberValidationMessage); validateNumber($(this).val(), transactionRepeatingEndAfterXTimesInputID.substr(1), null, numberValidationMessage, REGEX_NUMBER);
// select corresponding radio button // select corresponding radio button
let endAfterXTimes = document.getElementById("repeating-end-after-x-times"); let endAfterXTimes = document.getElementById("repeating-end-after-x-times");
...@@ -301,7 +301,7 @@ function validateForm(allowEmptyAmount=false) ...@@ -301,7 +301,7 @@ function validateForm(allowEmptyAmount=false)
if($(transactionRepeatingModifierID).length) if($(transactionRepeatingModifierID).length)
{ {
if(!validateNumber($(transactionRepeatingModifierID).val(), transactionRepeatingModifierID.substr(1), "hidden-" + transactionRepeatingModifierID.substr(1), numberValidationMessage)) if(!validateNumber($(transactionRepeatingModifierID).val(), transactionRepeatingModifierID.substr(1), "hidden-" + transactionRepeatingModifierID.substr(1), numberValidationMessage), REGEX_NUMBER)
{ {
return false; return false;
} }
...@@ -319,7 +319,7 @@ function validateForm(allowEmptyAmount=false) ...@@ -319,7 +319,7 @@ function validateForm(allowEmptyAmount=false)
if(endAfterXTimes.checked) if(endAfterXTimes.checked)
{ {
if(!validateNumber($(transactionRepeatingEndAfterXTimesInputID).val(), transactionRepeatingEndAfterXTimesInputID.substr(1), null, numberValidationMessage)) if(!validateNumber($(transactionRepeatingEndAfterXTimesInputID).val(), transactionRepeatingEndAfterXTimesInputID.substr(1), null, numberValidationMessage), REGEX_NUMBER)
{ {
return false; return false;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment