Como valido a presença de um ou outro campo, mas não de ambos e de pelo menos um?
ruby-on-rails
Ben Orozco
fonte
fonte
Acho que isso é mais idiomático no Rails 3+:
Ex: Para validar que um
user_name
ouemail
está presente:fonte
Você pode até fazer isso com 3 ou mais valores:
fonte
Exemplo para trilhos 3.
fonte
#O sobrenome do pai ou da mãe é obrigatório
Experimente o exemplo simples acima.
fonte
Eu coloquei minha resposta a esta pergunta abaixo. Neste exemplo
:description
e:keywords
são campos em que um destes não pode estar em branco:fonte
A validação usando um Proc ou Símbolo com: if e: except será chamado antes da validação acontecer.
Portanto, a presença de um dos dois campos pode ser assim:
O código (fragmento de exemplo) tem
:if
ou:unless
como o item mais recente, no entanto, conforme declarado no doc, ele será chamado antes da validação acontecer - então, outra verificação funcionará depois, se a condição corresponder.fonte