Formulário Pai e Filho - Validate

Boa tarde, estou validando um formulário em uma tabela pai e filho com o seguinte código:


function validateForm(form){

    if(form.getValue("valorAjustado") == ""){
        throw("Informe o valor Ajustado!");
    }
}

Só que ao preencher o formulário a mensagem de campo obrigatório é apresentada. Sugestões? Obrigada!

1 curtida

Mislene, esse campo “varloAjustado” é da tabela filha? Não ficou muito claro a sua pergunta para mim.

Olá Lorival Guerreiro isso mesmo é de uma tabela filha.

coloquei a resposta então.

Em qualquer caso para validar itens precisa ser utilizado:

var indexes = form.getChildrenIndexes("dsFilho"); // precisa alterar para o nome do seu dataset // se existem registros de trajeto if (indexes.length>0) {

for (var i = 0; i < indexes.length; i++) {

var item = "_" + indexes[i]

// campos do percurso

if (form.getValue("valorAjustado" + item)==""){

msg = msg + "Item"+indexes[i]+" campo Valor Ajustado está em branco. ";

}

}

}

E no final usa o throw(msg);

@Mislene, quando você cria um Pai x Filho, ele deixa o campo principal escondido no formulário e sem valor, por isso ele sempre irá mostrar a mensagem quando tenta validar dessa forma:


function validateForm(form){

    if(form.getValue("valorAjustado") == ""){
        throw("Informe o valor Ajustado!");
    }
}

Para validar corretamente o Pai x Filho você deve fazer dessa forma:


function validateForm(form){

    var indexes = form.getChildrenIndexes("seuTablename");
    if (indexes.length > 0) {
        for (var i = 0; i < indexes.length; i++) { // percorre os campos Pai x Filho
            if(form.getValue('valorAjustado___' + indexes[i]) == null || form.getValue('valorAjustado___' + indexes[i]) == '') {
                throw "Informe o valor Ajustado!";
            }
        }
    }

}

Muito obrigada @Gabriel Franco, funcionou. Abraços

1 curtida