Você pode definitivamente validar esses atributos em seus setters (). Ao contrário dos getters que são destinados a retornar valores, os setters são métodos para designar um valor por meio de um argumento / parâmetro.
Idealmente, eu aconselho você a escrever métodos separados e ter seus valores de retorno verdadeiro ou falso. para validar seus atributos de classe, particularmente quando a validação é bastante extensa.
Exemplos:
bool validateEmail(string email) {
}
bool validatePassword(string pwd) {
}
bool validateBirthdate(date dob) {
}
Eu prefiro aconselhar a validar seus atributos de classe na camada de lógica de negócios. Gostaria de saber se você conhece a arquitetura lógica do software. FYI: BLL
Além disso, se você tiver um banco de dados, é melhor validá-lo por meio das restrições .