Ruby on Rails Validación de contraseña

Así que tengo requisitos de validación de contraseña interesantes:

Cuando un usuario se registra, quiero que tenga que escribir la contraseña y confirmar y estar entre6..40 (CONSEGUÍ ESTE TRABAJO 100%)

Cuando un usuario actualiza su perfil, se aplican las mismas reglas de validación (ESTO FUNCIONA AL 100%)

Cuando un administrador agrega un usuario, solo tiene que ingresar la contraseña una vez y debe validarse (NO TRABAJAR)

Cuando un administrador edita a un usuario y el campo de contraseña está en blanco, no debe actualizar la contraseña; si escribe algo, debe validarse. (TRABAJO PARCIAL)

validates :password, :presence => true,
                   :confirmation => true,
                   :length => {:within => 6..40},
                   :unless => :force_submit

Los únicos casos que no puedo cubrir son cuando un administrador agrega un usuario, no está validado y cuando un administrador edita a un usuario (y escribe una contraseña) no está validado.

el:force_submit se pasa desde el formulario de administrador, por lo que la contraseña no se valida. (Entonces, el caso de una actualización de contraseña vacía funciona)

¿Alguna idea / magia?

Respuestas a la pregunta(4)

Su respuesta a la pregunta