Skip to content

Commit

Permalink
multi field validation for related datasets and final publication ver…
Browse files Browse the repository at this point in the history
…sion fields (#672)
  • Loading branch information
maxdmayhew authored Dec 2, 2024
1 parent cc8fab4 commit 69d2e1e
Showing 1 changed file with 18 additions and 28 deletions.
46 changes: 18 additions & 28 deletions app/assets/javascripts/pubform.js
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,7 @@ function orcidValidation() {
for (var orcidID of orcidIDs) {
var orcidVal = orcidID.children[1].value;
var orcidIDBool = isOrcidIdValid(orcidVal, orcidID);
console.log(orcidID);
var orcidIDError = '<p>Please enter only the ID section of your ORCID id, starting after <a href="https://orcid.org/" target="_blank">https://orcid.org/</a>. <br>Examples: <ul><li><a href="https://orcid.org/0000-0002-2771-9344" target="_blank">https://orcid.org/0000-0002-2771-9344</a></li><li>0000-0002-2771-9344</li></ul></p>';

if (orcidVal !== "" && !orcidIDBool) {
Expand All @@ -339,49 +340,38 @@ function orcidValidation() {
function relatedDataValidation() {
console.log("relatedData URL Validation");

var relatedData = document.getElementById("publication_related_datasets").value;
var relatedDataBool = isUrlValid(relatedData);
var relatedDatas = document.getElementsByClassName("publication_related_datasets");
var relatedDataTitle = 'The Supplemental Material field requires a full URL entry (starting with http://, https:// etc)';

//first check if related is not empty
if (relatedData !== "") {
console.log('value is not empty, related date: ' + relatedData);
if (!relatedDataBool) {
console.log('relatedDataTitle is: ' + relatedDataTitle);
for (var i = 1; i < relatedDatas.length; i++) {
// console.log(relatedDatas);
var relatedData = relatedDatas[i].value;
// console.log(relatedData);
var relatedDataBool = isUrlValid(relatedData);

if (relatedData !== "" && !relatedDataBool) {
validateModal(relatedDataTitle);
return false;
}

console.log('do nothing');
return true;
} else {
console.log("value is empty!");
return true;
}
} return true;
}

function finalPubVerValidation() {
console.log("finalPubVer URL Validation");

var finalPubVer = document.getElementById("publication_final_published_versions").value;
var finalPubVerBool = isUrlValid(finalPubVer);
var finalPubVers = document.getElementsByClassName("publication_final_published_versions");
var finalPubVerTitle = 'The Final Published Version field requires a full URL entry (starting with http://, https:// etc). <br>You can find this field under Publication Information.';
// console.log(finalPubVers);

//first check if related is not empty
if (finalPubVer !== "") {
console.log('value is not empty, final published version: ' + finalPubVer);
for (var i = 1; i < finalPubVers.length; i++) {
var finalPubVerValue = finalPubVers[i].value;
// console.log(finalPubVerValue);
var finalPubVerBool = isUrlValid(finalPubVerValue);

if (!finalPubVerBool) {
console.log('finalPubVerTitle is: ' + finalPubVerTitle);
if (finalPubVerValue !== "" && !finalPubVerBool) {
validateModal(finalPubVerTitle);
return false;
}
console.log('do nothing');
return true;
} else {
console.log("value is empty!");
return true;
}
} return true;
}

function isOrcidIdValid(orcidVal, orcidID) {
Expand Down

0 comments on commit 69d2e1e

Please sign in to comment.