...quando usi queste funzioni:
function makeBox() {
var a = " Che regali? <input type = 'text' name='dettagliregali' id='dettagliregali' size='42' maxlength='75' onChange='javascript
:this.value=this.value.toUpper Case();' onkeypress='return handleEnter(dettagliregali, event);' value=''><div id='tnote'>Es. Ad esempio, ovetti, frittatine, preparati per sughi pronti - Per aggiungere altri dettagli usa le Note sotto</div>"
if (document.getElementById("regali").value=="si") {
document.getElementById("inputBox").innerHTML = a;
var dettagliregali= new LiveValidation('dettagliregali',{ validMessage: "ok" });
dettagliregali.add(Validate.Presence, { failureMessage: "Da compilare" });
dettagliregali.add(Validate.Length, { maximum: 70} );
}
else {
document.getElementById("inputBox").innerHTML = "";
}
}
Dove tu, nel caso uno risponda SI proponi un nuovo campo da compilare quando vai a fare il controllo ti stai avvalendo di questo
var dettagliregali= new LiveValidation('dettagliregali',{ validMessage: "ok" });
Ma questo oggetto che crei con NEW non è il validatore di tutta la form , ovvero tu hai generato un validator solo per quel campo e ovviamente nel momento in cui tu premi no lui mette ok e da come return che tutta la form è validata!
La soluzione sta nel portare tutti i campi nel validatore principale e non crearne dei nuovi!