Foros del Web » Programando para Internet » Ruby »

obligar a que tres campos de formulario sumen 10.

Estas en el tema de obligar a que tres campos de formulario sumen 10. en el foro de Ruby en Foros del Web. quiero obligar a que tres campos numericos de un registro sumen 10. me parece q el lugar correcto para poner el codigo seria en el ...
  #1 (permalink)  
Antiguo 10/11/2006, 10:06
 
Fecha de Ingreso: agosto-2006
Mensajes: 316
Antigüedad: 18 años, 4 meses
Puntos: 0
obligar a que tres campos de formulario sumen 10.

quiero obligar a que tres campos numericos de un registro sumen 10.

me parece q el lugar correcto para poner el codigo seria en el modelo,

algo como validates_uniqueness_of o una definicion dentro del metodo.

IRIA DENTRO DEL METODO?

donde encuentro ejemplos de cosas asi, pues necesito muchas restriciones del tipo: si el padre es rubio y la madre es rubia el hijo no puede ser moreno.

y cosas asi.

ME GUSTARIA ENCONTRAR EJEMPLOS para asi poder diseñar mejor.
  #2 (permalink)  
Antiguo 13/11/2006, 01:23
 
Fecha de Ingreso: enero-2006
Mensajes: 48
Antigüedad: 18 años, 10 meses
Puntos: 0
Puedes crear un método validate para esto, en tu modelo.rb:

Código:
def validate
   unless campo1+campo2 == 10 
      errors.add("campo1", "Deben sumar 10")
      errors.add("campo2", "Deben sumar 10")
   end
end
Cuando se actualice el registor, si el método 'validate' si errors no está vacío ActiveRecord no guardará el registor en la base de datos.
__________________
------------------------------
http://www.sobrerailes.com
  #3 (permalink)  
Antiguo 13/11/2006, 04:27
 
Fecha de Ingreso: agosto-2006
Mensajes: 316
Antigüedad: 18 años, 4 meses
Puntos: 0
muchas gracias ya lo entiendo.

en este caso tendria q ir creando la bateria de tests no?

o es una tonteria para cositas tan triviales?
  #4 (permalink)  
Antiguo 13/11/2006, 07:12
 
Fecha de Ingreso: enero-2006
Mensajes: 48
Antigüedad: 18 años, 10 meses
Puntos: 0
Mejor empezar escribiendo tests triviales, así tendrás experiencia cuando quieras escribir los complejos :)
__________________
------------------------------
http://www.sobrerailes.com
  #5 (permalink)  
Antiguo 15/11/2006, 09:51
 
Fecha de Ingreso: agosto-2006
Mensajes: 316
Antigüedad: 18 años, 4 meses
Puntos: 0
q pereza me hace lo de los test, pero tendre q empezar.

dos preguntitas al tema de las definiciones en los metodos

por ejemplo en el metodo q me enseñas:

def validate
unless campo1+campo2 == 10
errors.add("campo1", "Deben sumar 10")
errors.add("campo2", "Deben sumar 10")
end
end

1.- en caso de error los campos resaltados son los dos, pero el mensaje aparece repetido,

mire la documentacion del errors.add para sacar un solo texto, pero no encontre nada

2.- Parte del mensaje aparece en ingles, que fichero tendria q edipar para q apareciese en castellano?
  #6 (permalink)  
Antiguo 16/11/2006, 00:24
 
Fecha de Ingreso: enero-2006
Mensajes: 48
Antigüedad: 18 años, 10 meses
Puntos: 0
1.- sí, claro. Eso es opción mía. Si los dos campos deben sumar 10, entiendo que habría que marcar los dos como erróneos, y que el usuario lo corrija. El mensaje lógicamente lo puede uno poner a su gusto.

2.- Echale un vistazo a esto

http://www.sobrerailes.com/articles/...ku-on-rails-v6

Puede que a estas alturas este post de mi blog haya quedado un poco obsoleto, pero la idea básicamente es esa.
__________________
------------------------------
http://www.sobrerailes.com

Última edición por Epaminondas Pantulis; 16/11/2006 a las 00:40
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:08.