Preciso fazer com que o formulário não seja enviado quando o "txtNumeroInvoice" possuir menos de 9 dígitos. Já testei de algumas formas e o formulário passa direto.
Alguém sabe alguma forma?
function validateForm(form) {
var inicio = 4;
var correcao = 17;
var atividade = parseInt(getValue("WKNumState"));
var acaoUsuario = getValue("WKCompletTask");
if ((atividade == inicio || atividade == 0 || atividade == correcao) && (acaoUsuario == "true")) {
// if (form.getValue("txtNumeroInvoice") < 9)
if ((form.getValue("txtNumeroInvoice")).length < 9) {
throw "A invoice precisa ter 9 dígitos";
}
// Funcionando - Ok
if ((form.getValue("txtNumeroInvoice")) == "") {
throw "A invoice não pode ser nula";
}
}
}
Marcella,
Precisei fazer algo parecido e resolvi no js com um campo auxiliar mesmo =/
input type="text" name="txtNumeroInvoice" id="txtNumeroInvoice"
input type="hidden" name="txtNumeroInvoiceAuxiliar" id="txtNumeroInvoiceAuxiliar"
$("#txtNumeroInvoice").keyup(function() {
$("#txtNumeroInvoiceAuxiliar").val($("#txtNumeroInvoice").val().length);
});
Aí no validateForm, fiz a comparação com o auxiliar!
Espero que te ajude! =)
Obg Renata, dessa forma funcionou perfeitamente.
Oi Marcella!
O método "form.getValue" retorna o valor, em string, de um campo.
Como o "form" é um objeto Java, você precisa utilizar a função length() para verificar o tamanho do conteúdo do campo. Se fosse JavaScript você poderia utilizar a propriedade length sem problemas!
No seu caso, você não precisa de campo adicional, basta utilizar:
if (form.getValue("txtNumeroInvoice").length () < 9) {
throw "A invoice precisa ter 9 dígitos";
}
Abs,
Marcos