Added check for mandatory tags, and distinguish between mandatory subfields

in mandatory and optional tags
(Incomplete merge, new error messages need to be retranslated)
This commit is contained in:
acli 2003-02-03 19:33:22 +00:00
parent e85ad950e2
commit f296bdf464
1 changed files with 52 additions and 7 deletions

View File

@ -49,6 +49,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
</tmpl_loop>
@ -70,6 +71,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
</TMPL_LOOP>
@ -91,6 +93,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
</TMPL_LOOP>
@ -112,6 +115,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
</TMPL_LOOP>
@ -133,6 +137,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
</TMPL_LOOP>
@ -154,6 +159,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
</TMPL_LOOP>
@ -175,6 +181,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
</TMPL_LOOP>
@ -196,6 +203,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
</TMPL_LOOP>
@ -217,6 +225,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
</TMPL_LOOP>
@ -238,6 +247,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
</TMPL_LOOP>
@ -257,6 +267,7 @@
<input type="hidden" name="tag" value="<TMPL_VAR name="tag">">
<input type="hidden" name="subfield" value="<TMPL_VAR name="subfield">">
<input type="hidden" name="mandatory" value="<TMPL_VAR name="mandatory">">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</td>
</tr>
</TMPL_LOOP>
@ -271,6 +282,7 @@
<input type="hidden" name="subfield" value="<TMPL_VAR name="oldbiblioitemnumtagsubfield">">
<input type="hidden" name="field_value" value="<TMPL_VAR name="oldbiblioitemnumber">">
<input type="hidden" name="mandatory" value="0">
<input type="hidden" name="tag_mandatory" value="<TMPL_VAR name="tag_mandatory">">
</TMPL_IF>
</form>
@ -293,25 +305,58 @@ function active(numlayer)
}
}
function Check(f) {
var total_errors=0;
// alert(f.field_value.length);
// Scan for nonempty fields
var field_is_nonempty_p = new Array();
for (i=0 ; i<f.field_value.length ; i++) {
field_is_nonempty_p[f.tag[i].value] = 0;
}
for (i=0 ; i<f.field_value.length ; i++) {
if (f.field_value[i].value.length != 0) {
field_is_nonempty_p[f.tag[i].value] += 1;
}
}
// Scan for missing mandatory subfields
var total_missing_mandatory_subfields = 0;
for (i=0 ; i<f.field_value.length-2 ; i++) {
// alert (f.field_value[i].value);
if (f.field_value[i].value.length==0 && f.mandatory[i].value==1) {
// We should not flag an error unless the tag is also
// mandatory, or if something else in the tag is entered
if (f.tag_mandatory[i].value == 1 || field_is_nonempty_p[f.tag[i].value]) {
document.getElementById("error"+i).style.backgroundColor="#FF0000";
total_errors++;
total_missing_mandatory_subfields++;
}
} else {
document.getElementById("error"+i).style.backgroundColor="#FFFFFF";
}
}
// Scan for missing mandatory tags
var total_missing_mandatory_tags = 0;
var seen_mandatory_tag_p = new Array();
for (i=0 ; i<f.field_value.length ; i++) {
var j = f.tag[i].value;
if (!field_is_nonempty_p[j] && f.tag_mandatory[i].value == 1) {
if (seen_mandatory_tag_p[j] != 1) {
seen_mandatory_tag_p[j] = 1;
total_missing_mandatory_tags++;
}
document.getElementById("error"+i).style.backgroundColor="#ffff00";
}
}
var total_errors = total_missing_mandatory_tags + total_missing_mandatory_subfields;
var alertString2;
if (total_errors==0) {
document.f.submit();
} else {
if (total_errors!=0) {
alertString2 = "No se envío el formulario por los siguientes problemas\n";
alertString2 += "------------------------------------------------------------------------------------\n\n";
// alertString2 += "- "+ total_missing_mandatory_tags +" mandatory tags empty\n";
// alertString2 += "- "+ total_missing_mandatory_subfields +" mandatory fields empty (see bold subfields)";
alertString2 += "- "+ total_errors+" campos vacíos (revise los campos en negrita)";
alert(alertString2);
} else {
document.f.submit();
}
}
function Dopop(link,i) {