Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, tenho uma dúvida sobre a semântica, principalmente agora após as inovações do HTML 5.
Tenho um formulário de login e, caso o login falhe (por senha inválida, etc), quero mostrar uma mensagem de erro.
Quando eu não me importava muito com questão de semântica, sempre usei tag span pra fazer isso, como no código abaixo:
<section>
<form id="form_login" name="form_login" method="post" action="<?php echo(Enderecos::CompletoAmp()) ?>">
<fieldset class="painel_formulario">
<input type="hidden" id="form_login_post" name="form_login_post" value="post" />
<label for="form_login_user" class="t_campo_form">Login:
<input id="form_login_user" name="form_login_user" class="campo_form" type="text" maxlength="20" required="required" value="<?php echo((isset($_POST["form_login_user"]) ? htmlspecialchars($_POST["form_login_user"], ENT_COMPAT) : "")); ?>" />
</label>
<label for="form_login_senha" class="t_campo_form">Senha:
<input id="form_login_senha" name="form_login_senha" class="campo_form" type="password" required="required" maxlength="50"/>
</label>
<?php if ($msg != "") { ?>
<span id="form_login_msg_texto" class="texto_msg_erro"><?php echo($msg); ?></span>
<?php } ?>
<input id="form_login_salvar" name="form_login_salvar" class="botao_form" onclick="javascript: return ValidaLogin(document.getElementById('form_login'), document.getElementById('form_login_user'), document.getElementById('form_login_senha'));" type="submit" value="Entrar" />
</fieldset>
</form>
</section>
Mas agora tenho dúvida, qual seria a melhor tag pra se usar ao mostrar a mensagem de erro?
Acho que p não se encaixaria, pois não se trata de um texto corrido e sim de um campo informativo.
O que recomendam?
Obrigado.
Entendi, obrigado L. Henrique.
Kuroi,
Tudo é uma questão de pesquisa. Se a sua dúvida é sobre usar ou não a tag span, então você precisa entender o que ela é, qual sua função...
Leia:
R: No seu caso, sim, é válido a exibição de um erro utilizando a tag span.
Veja como exemplo alguns frameworks de PHP que já possuem métodos de validação (Ex. Laravel). Quando você executa o comando: php artisan make:auth, ele cria pra você todo um sistema de login e registro com suas devidas rotas, controllers e etc... Inclusive validações.
Nesse caso, veja como é exibido o erro:
@if ($errors->has('name'))
@endif
Lembrando que o Laravel possui o Blade, por isso o @if, @endif.
Bons estudos e boa sorte!