trim all monitor inputs before looking for errors. No inputs should have whitespace at beginning or end

pull/4202/head
Isaac Connor 2022-03-28 13:47:45 -04:00
parent 8acd01f9b7
commit b4d4d282bb
1 changed files with 13 additions and 1 deletions

View File

@ -46,8 +46,14 @@ rtspStreamNames[\''.validJsStr($row['RTSPStreamName']).'\'] = true;
function validateForm( form ) {
var errors = new Array();
var warnings = new Array();
const elements = form.elements;
if ( form.elements['newMonitor[Name]'].value.search( /[^\w\-\.\(\)\:\/ ]/ ) >= 0 )
// No monitor input should have whitespace at beginning or end, so strip them out first.
for (var i=0; i<elements.length; i++) {
elements[i].value = elements[i].value.trim();
}
if ( elements['newMonitor[Name]'].value.search( /[^\w\-\.\(\)\:\/ ]/ ) >= 0 )
errors[errors.length] = "<?php echo translate('BadNameChars') ?>";
else if ( monitorNames[form.elements['newMonitor[Name]'].value] )
errors[errors.length] = "<?php echo translate('DuplicateMonitorName') ?>";
@ -77,6 +83,12 @@ function validateForm( form ) {
errors[errors.length] = "<?php echo translate('BadPath') ?>";
} else if (form.elements['newMonitor[Path]'].value.match(/[\!\*'\(\)\$ ,#]/)) {
warnings[warnings.length] = "<?php echo translate('BadPathNotEncoded') ?>";
console.log(form.elements['newMonitor[Path]'].value.match(/[\!\*'\(\)\$ ,#]/));
}
let url = new URL(form.elements['newMonitor[Path]'].value);
console.log(url.href);
if (url.href != form.elements['newMonitor[Path]'].value) {
warnings[warnings.length] = "<?php echo translate('BadPathNotEncoded') ?>";
}
} else if ( form.elements['newMonitor[Type]'].value == 'File' ) {