C'è un modo per convalidare che un campo di testo non è uguale a un altro prima di salvare il record? Ho due text_fields con numeri interi e non possono essere identici perché il record sia valido.Convalida Rails che un valore non è uguale a un altro
6
A
risposta
8
È possibile aggiungere una convalida personalizzato:
class Something
validate :fields_a_and_b_are_different
def fields_a_and_b_are_different
if self.a == self.b
errors.add(:a, 'must be different to b')
errors.add(:b, 'must be different to a')
end
end
che verranno chiamati ogni volta che l'oggetto viene convalidato (esplicitamente o quando si salva con la convalida) e aggiungerà un errore in entrambi i campi. Potresti volere un errore su entrambi i campi per renderli in modo diverso nel modulo.
Altrimenti si può solo aggiungere un errore di base:
errors.add(:base, 'a must be different to b')
5
nel modello:
validate :text_fields_are_not_equal
def text_fields_are_not_equal
self.errors.add(:base, 'Text_field1 and text_field2 cannot be equal.') if self.text_field1 == self.text_field2
end
Problemi correlati
- 1. php non è uguale a non è uguale, uguale a
- 2. Convalida MVC inferiore/superiore a un altro valore
- 3. Come confrontare un valore lungo è uguale a Valore lungo
- 4. Array uguale a un altro array
- 5. Come scrivere un matcher che non è uguale a qualcosa
- 6. Convalida campo Modello: se il valore è uguale a una chiave in un hash
- 7. Rails convalida presenza non sul valore 0
- 8. Come si controlla se una stringa non è uguale a un oggetto o un altro valore di stringa in java?
- 9. convalida di un immobile modello è maggiore di un altro
- 10. Imposta la larghezza del div uguale a un altro div
- 11. Ambito rails dove non è uguale
- 12. Rails - Ottenere un messaggio di errore dal modello che non è un errore di convalida
- 13. Regole di convalida che utilizzano il valore di un altro controllo
- 14. Rails - Come convalidare un campo solo se un altro campo ha un determinato valore?
- 15. Ordine Con un campo uguale a un valore specifico?
- 16. symfony2 convalida un valore di un modulo utilizzando un altro valore di forma
- 17. Convalida per numerico ma non uguale a 0 in MVC4
- 18. C'è un modo per impostare un parametro predefinito uguale ad un altro valore di parametro?
- 19. Impostazione dell'hash uguale a un altro hash in Ruby
- 20. Esiste un metodo comodo per creare un predicato che verifica se un campo è uguale a un determinato valore?
- 21. Perché hamcrest dice che un byte 0 non è uguale a un int 0?
- 22. Come stampare un doppio valore che è appena inferiore ad un altro doppio valore?
- 23. Perché posso impostare un enum anonimo uguale a un altro in C ma non in C++?
- 24. come rendere un campo data di input maggiore o uguale a un altro campo data utilizzando la convalida in laravel
- 25. È possibile avere un vincolo MySQL che richiede che una colonna sia univoca * a meno che * non sia uguale a un valore specifico?
- 26. Fare un array esattamente uguale ad un altro
- 27. Come inviare un valore da un componente a un altro?
- 28. elasticsearch/Kibana 4: campo esiste ma non è uguale a un valore
- 29. È impostato un FILE * uguale a stdout portatile?
- 30. MongoDB non uguale a