Consegui, é mais fácil do que parece:
$campo="{campo1}";
echo $campo; - Retorna o conteúdo
$campo=’{campo1}’;
echo $campo; - Retorna o nome do campo assim: this->campo1
ou seja
os nomes dos campos entre apóstrofos (’) retorna o nome do campo e com aspas (") retorna o conteúdo.
Criei um controle teste com 3 campos ( campo1, campo2 e campo3 )
em onValidate.
$a=array(’{campo1}’,’{campo2}’,’{campo3}’);
$b=array("{campo1}","{campo2}","{campo3}");
for ($n = 0; $n <= 2; $n++) {
echo ‘Campo:’.$a[$n].’ conteúdo:’.$b[$n].’
’;
}
resultado:
Campo:$this->campo1 conteúdo:TESTE CAMPO 1
Campo:$this->campo2 conteúdo:TESTE CAMPO 2
Campo:$this->campo3 conteúdo:TESTE CAMPO 3
- só um detalhe, não dá pra compor o nome na variável q não funciona precisa ser digitado.
exemplo:
$n=1;
$campo = “{campo$n}”; // assim não funciona.
echo $campo;
$campo = “{campo1}”; // assim beleza
echo $campo;