function formCallback(result, form) { window.status = 'validation callback for form ' + form.id + ': result = ' + result; } var valid = new Validation('frm_validation', {immediate : true, onFormValidate : formCallback}); Validation.addAllThese([ ['required', 'Rellene por favor el campo más arriba.', function(v) { return !Validation.get('IsEmpty').test(v); }], ['validate-one-required', 'Selecccione por favor una de las opciones más arriba.', function (v,elm) { var p = elm.parentNode; var options = p.getElementsByTagName('input'); return $A(options).any(function(elm) { return $F(elm); }); }], ['validate-selection', 'Seleccione algo por favor.', function(v,elm){ return elm.options ? elm.selectedIndex > 0 : !Validation.get('IsEmpty').test(v); }], ['validate-digits', 'Este campo solo puede constar de números.', function(v) { return Validation.get('IsEmpty').test(v) || !/[^\d]/.test(v); }], ['validate-alpha', 'Este campo solo puede constar de letras.', function (v) { return Validation.get('IsEmpty').test(v) || /^[A-ZÀ-Ža-zà-ž\'-,\s]+$/.test(v) }], ['validate-email', 'Una dirección de correo electrónico debe ser de la forma mail@dominio.com.', function (v) { return Validation.get('IsEmpty').test(v) || /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v) }], ['validate-url', 'Teclee por favor un URL válido.', function (v) { return Validation.get('IsEmpty').test(v) || /^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(v) }], ['city', 'Introduzca por favor su ciudad (y/o su codigo postal).', { notOneOf: ['No se encuentra una ciudad'], minLength: 1 }], ['validate-password', 'Su contraseña tiene que ser desde 6 hasta 10 caracteres.', { minLength: 6, maxLength: 10 }], ['validate-password-confirm', 'La confirmación no corresponde a la contraseña.', { equalToField: 'password' }] ]);