Den här koden bör kontrollera 2 fält i mitt formulär:
function validacion(formulario) {
var er_nombre = /^([a-z]|[A-Z]|á|é|í|ó|ú|ñ|ü|å|ä|ö|\s|\.|-)+$/ // bokstäver inkl. speciella bokstäver i sp och sv, '.' '-' och mellanslag
var er_comentario = /^([a-z]|[A-Z]|á|é|í|ó|ú|ñ|ü|å|ä|ö|\¡|\¿|\!|\?|\s|\.|-|:|)|(|"|'|[0-9\s\+\-])+$/ // samma som "er_nombre" och siffor och 2 speciella tecken som bara finns på sp.
if(!er_nombre.test(formulario.nombre.value)) {
alert('Nombre incorrecto, por favor revisa') // Fel på fältet namn
return false
}
if(!er_comentario.test(formulario.comentarios.value)) {
alert('Comentario incorrecto, por favor revisa') // Fel på fältet kommentar
return false
}
return true
}
Här är formuläret:
<form ACTION="<%=MM_editAction%>" name="gbook-espanol" method="POST" onsubmit="return validacion(this)">
<table border=0 align=center>
<tr>
<td width="98"><font color=red><b>Nombre:</b></font></td>
<td width="314">
<input type="text" name="nombre" class="txt">
</td>
</tr>
<tr>
<td width="98"><b>E-mail:</b></td>
<td width="314">
<input type="text" name="email" class="txt">
</td>
</tr>
<tr>
<td width="98"><font color=red><b>Comentarios:</b></font></td>
<td width="314">
<textarea name="comentarios" cols="30" rows="5" class="txta"></textarea>
</td>
</tr>
</table>
<p align=center>
<input type="submit" name="Submit" value="Enviar" class="btn">
<input type="reset" name="Reset" value="Borrar" class="btn">
</p>
<input type="hidden" name="MM_insert" value="true">
</form>
När jag testar genom att lämna fältet "kommentar" tomt, får jag följande error:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Field 'librovis.comentario' cannot be a zero-length string.
Vad gör jag fel?
PS: Jag använder Dreamweaver.