Sergio Cambra .:: entreCables - Symbol Servicios
wrote:
El Friday 07 November 2008 16:09:36 Jhon K. escribió:
validates_format_of :nombre, :with => /\A[
Es que creo que el validates_format_of requiere una expresi�n regular
Tienes razon pana con respecto a q requiere una expresion y no un
archivos actualizando la expresion.
Hasta ahora me funciona, cualquier cosa te avisare si la actualizo a
hago alguna modificacion.
Muchas gracias por la ayuda, que bueno es este foro
para eso en vez de usar un metodo usa una constante, por ejemplo cambia
lib/utils.rb:
module Utils
CONSTANTE = /\A[,º&%;:="(){}?¿’|$#a-zA-Z0-9@/\t\r\n._-]*\z/
end
o no uses el lib/utils.rb, y pon la constante directamente en el modelo.
Yo lo
veo mejor asà si esa expresion regular solo se usa para ese modelo.
En segundo lugar creo que el error est� en el modelo, prueba as�:
validates_format_of :nombre, :with => /\A[
,�&%;:="(){}?�’|$#����������a-zA-Z0-9@/\t\r\n._-]*\z/,
:message =>“debe ser valido”
O igual mejor directamente:
validates_format_of :nombre, :with =>
/\A[,�&%;:="(){}?�’|$#����������a-zA-Z0-9@/\t\r\n._-]*\z/ , :message
=>“debe ser valido”
Es que creo que el validates_format_of requiere una expresi�n regular
no un booleano:
Lo que intentas es implementar un nuevo m�todo de validaci�n y eso no
s� como se hace sorry.
f,
Tienes razon pana con respecto a q requiere una expresion y no un
booleano, yo queria declarar una variable global q contenga la cadena
con la expresion pero me da error, pero con tu ayuda e solucionado de
esta manera
-en el environment.rb
coloque esto require ‘utils.rb’
-en el modelo
validates_format_of :nombre, :with => Utils.is_valid(:nombre),
:message =>“debe ser valido”
en lib/utils.rb
class Utils
def self.is_valid( string )
return num_expr = /\A[
,º&%;:="(){}?¿'|$#a-zA-Z0-9@/\t\r\n._-]*\z/
end
end
de esta forma retorno la expresion, y si tengo que modificar la
expresion solo la modifico en este archivo y no tengo q ir a todos los
archivos actualizando la expresion.
Hasta ahora me funciona, cualquier cosa te avisare si la actualizo a
hago alguna modificacion.
Muchas gracias por la ayuda, que bueno es este foro
Sergio Cambra .:: entreCables - Symbol Servicios
wrote:
El Friday 07 November 2008 16:38:53 Jhon K. escribió:
archivos actualizando la expresion.
o no uses el lib/utils.rb, y pon la constante directamente en el modelo.
Yo lo
veo mejor asà si esa expresion regular solo se usa para ese modelo.
El Friday 07 November 2008 16:38:53 Jhon K. escribió:
archivos actualizando la expresion.
o no uses el lib/utils.rb, y pon la constante directamente en el modelo.
Yo lo
veo mejor asà si esa expresion regular solo se usa para ese modelo.
Ostras, no se me habia ocurrido que alguien pudier hacer eso.
La verdad es que de momento con esa expresion regular nunca he visto
nada raro en la base de datos, sobretodo cuando mandas un email para
validar la direccion, pero es bueno saberlo.
On 08/11/2008, at 20:32, Guillermo Ãlvarez Fernández
<[email protected]
Como vemos la expresión es váldia para el texto anterior, ya que es
verdad que le estamos diciendo si existe alguna linea que empiece y
termine con una dirección de correo electrónico. El resto de lineas da
igual.
Lo correcto, salvo que me equivoque, sería substituir ^(principio de
linea) por \A(principio de texto) y $(final de linea) por \z(fin de
texto)
Yo suelo usar esta: La anterior, ve validaría cosas como
"Guillermo.Á[email protected]
" al permitirme incluir tildes en el user del email.
/\A([\w.-+]+)@((?:[-a-z0-9]+.)+[a-z]{2,})\z/i
A partir de Rails 2.0 hay una carpeta llamada initializers donde hay
varios archivos. Cualquier cosa que metas alli se cargará
automáticamente cuando Rails arranque.
Si no lo tienes, puede ser porque todavia este ls en Rails 1.x o
porque la hayas borrado. Siempre puedes meter un require en el fichero
‘environment.rb’.
A partir de Rails 2.0 hay una carpeta llamada initializers donde hay
varios archivos. Cualquier cosa que metas alli se cargará
automáticamente cuando Rails arranque.
Si no lo tienes, puede ser porque todavia este ls en Rails 1.x o
porque la hayas borrado. Siempre puedes meter un require en el fichero
‘environment.rb’.
Si estoy utilizando la version 1.2.6 por requirimientos que me pidieron,
entoncs por eso no tengo esa carpeta y archivos, ya habia intentado
hacerlo en el
environment.rb de esat manera por ejemplo:
pero al reiniciar el servidor no arranca, por esto solucione de la
manera que ya explique antes y me a funcionado pero estoy de acuerdo
contigo con una constante queda más limpio.
tengo una pregunta ,con lo que me has sugerido y con la solucion que yo
e encontrado, tienes alguna idea de por que si coloco las letras con
acentos la expresion no las validas, por ejemplo áà …etc? pero si la
coloco de una vz en el modelo lo valida corectamente
tengo una pregunta ,con lo que me has sugerido y con la solucion que yo
e encontrado, tienes alguna idea de por que si coloco las letras con
acentos la expresion no las validas, por ejemplo áà …etc? pero si la
coloco de una vz en el modelo lo valida corectamente
Ya solucione el problema, con el que tu y otros compa-eros me ayudaron
El problemas era por el encoding del fichero
los q no tenian problemas eran UTF-8 y los q daban error eran ANSI
lo que hic fue cambiar el encoding a UTF-8 y ya puedo tener mi
expresion en una variable global en el environment.rb