Identificador único do piso
Verifica se level_id está preenchido e não se repete em levels.txt.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | level_id_unique |
| Ficheiro | levels.txt |
| Campo | level_id |
| Tipo | Identificador único |
| Severidade | Obrigatório |
Descrição do campo: identificador do piso que pode ser referenciado em stops.txt.
Mais informação em levels.txt.
Como funciona
Quando a regra passa, level_id está preenchido e aparece uma só vez em levels.txt. A regra não verifica se o identificador é usado em stops.txt.
A regra avalia cada linha do levels.txt, seguindo os passos abaixo por ordem, até um deles dar o resultado.
| # | Pergunta | Se sim | Se não |
|---|---|---|---|
| 1 | O campo está vazio? | Verifica se a configuração da regra exige ou recomenda este campo. Se sim, reporta o problema. Se não, aceita | Segue para o passo 2 |
| 2 | A configuração da regra define que este campo não deve ser preenchido? | ❌ Reporta o problema | Segue para o passo 3 |
| 3 | O mesmo level_id aparece mais do que uma vez em levels.txt? | ❌ Reporta o problema: identificador duplicado | ✅ Passa |
O valor é comparado exatamente como está escrito. Os espaços no início e no fim e as diferenças entre maiúsculas e minúsculas não são ignorados. Uma linha com todos os campos vazios é ignorada antes desta regra.
Exemplos
| Valor | Resultado | Porquê |
|---|---|---|
P0 numa única linha | ✅ Passa | O identificador é único |
P0 em duas linhas | ❌ Problema | O identificador está duplicado |
| vazio | ❌ Problema | Falta um campo obrigatório |
P0 com o campo proibido | ❌ Problema | A configuração proíbe o campo |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Identificador duplicado | Duas ou mais linhas de levels.txt usam o mesmo level_id | Atribuir um level_id diferente a cada piso em levels.txt e atualizar as respetivas referências em stops.txt |
| Campo em falta | A configuração da regra exige ou recomenda level_id | Preencher level_id em levels.txt com um identificador único |
| Campo preenchido quando não devia | A configuração da regra proíbe level_id | Remover o valor de level_id em levels.txt ou rever a configuração da regra |