Peço desculpas pelo horário tardio desta mensagem, mas para quem está vasculhando o Meta tentando descobrir como validar campos personalizados que possa ter adicionado, achei válido mencionar como fazer isso com um plugin.
No seu plugin.rb, use o método validate em User. Você pode então verificar seus campos personalizados e definir um erro se algum estiver inválido:
require_dependency 'user'
validate User, :my_cool_validation_method do
field = self.custom_fields['cool_tapes']
if ! field.blank? && field.include?("bag of four grapes")
self.errors[:cool_tapes] << "No rhymes allowed."
end
end
Nota: o símbolo :my_cool_validation_method pode ser qualquer coisa que você desejar, mas deve ser único no contexto do modelo User.