Ruby on Rails - Validaciones de entrada del usuario
Aquí está la lista de validaciones que puede realizar en la entrada del usuario:
valida_presencia_de
Lo siguiente comprueba que last_name y first_name deben completarse y no deben ser NULL.
validates_presence_of :firstname, :lastname
valida_length_of
El siguiente ejemplo muestra varias validaciones en un solo campo. Estas validaciones se pueden realizar por separado.
validates_length_of :password,
:minimum => 8 # more than 8 characters
:maximum => 16 # shorter than 16 characters
:in => 8..16 # between 8 and 16 characters
:too_short => 'way too short'
:too_long => 'way to long'
valida_acceptance_of
Lo siguiente aceptará solo el valor 'Y' para el campo de opción.
validates_acceptance_of :option
:accept => 'Y'
valida_confirmation_of
Los campos contraseña y contraseña_confirmación deben coincidir y se utilizarán de la siguiente manera:
validates_confirmation_of :password
valida_uniqueness_of
Lo siguiente establece una condición para que nombre_usuario sea único.
validates_uniqueness_of :user_name
valida_format_of
Lo siguiente valida que un ID de correo electrónico determinado tiene un formato válido. Esto muestra cómo puede usar expresiones regulares para validar un campo.
validates_format_of :email
:with => /^(+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
valida_numericality_of
Esto valida que el campo dado sea numérico.
validates_numericality_of :value
:only_integer => true
:allow_nil => true
valida_inclusion_of
Lo siguiente comprueba que el valor pasado es una enumeración y cae en el rango dado.
validates_inclusion_of :gender,
:in => %w( m, f )
valida_exclusion_of
Lo siguiente comprueba que los valores dados no caen dentro del rango dado.
validates_exclusion_of :age
:in => 13..19
valida_inclusion_of
Lo siguiente comprueba que los valores dados deben caer en el rango indicado. Esto es lo opuesto a validates_exclusion_of.
validates_inclusion_of :age
:in => 13..19
validates_associated
Esto valida que el objeto asociado sea válido.
Opciones para todas las validaciones
Puede utilizar las siguientes opciones junto con todas las validaciones.
:message => 'my own errormessage' Use esto para imprimir un mensaje de error personalizado en caso de que falle la validación.
:on => :create or :updateEsto se utilizará en los casos en los que desee realizar la validación solo cuando se esté creando o actualizando el registro. Entonces, si usa:create entonces esta validación funciona solo cuando hay una operación de creación en la base de datos.
Consulte el enlace Validaciones para obtener más detalles sobre las validaciones.