Ma il campo "valido" è una stringa? Oppure, come penso, è un boolean? In questo caso non ha senso confrontarlo con la stringa "Sì" ma solo con true / false oppure 1// 0