Preciso que o campo select obrigatoriamente seja preenchido, para layout deixei os campos com o primeiro option vazio.
Pórem não está funcionando da maneira que desenvolvi.
Exemplo: ("finalidade_processo" é o id do select e "v" é o value do campo vazio)
if (form.getValue("finalidade_processo")== "v"){
throw "Campo finalidade do processo não foi preenchido";
}
Já tive o mesmo problema e resolvi da seguinte forma.
Crie um input no formulario com o type sendo hidden vamos chamar de finalidade_processo_apoio, e na propriedade onChange do select finalidade_processo crie um método que atribua o valor selecionado ao campo finalidade_processo_apoio, então depois valide o campo de finalidade_processo_apoio.
Talvez não seja a melhor solução mas resolve o problema.
Nas validações que fiz com select não tive problemas. Normalmente eu valido se não está vazio, mas não lembro de ter problema comparando com um valor específico.
Lembrando que a função form.getValue pesquisa pelo name, não pelo id.
<select class="form-control" name="fornecedorUf" id="fornecedorUf">
<option value=""></option>
<option value="MS">MS</option>
<option value="AC">AC</option>
<option value="AL">AL</option>
<option value="AM">AM</option>
</select>
/**
* Validação dos dados do formulário
*
* @param {FormController} form
* @throws {string}
*/
function validateForm(form) {
if (valueIsEmpty(form.getValue("fornecedorUf"))) {
throw "Necessário selecionar o Estado";
}
}
/**
* Verifica se o valor é vazio
*
* @param {string} value
* @returns {boolean}
*/
function valueIsEmpty(value) {
return value == null || value == "";
}
Muito obrigada! Deu certo.