Ajax Loader
×

Basic Validation HTML5 Form

Using HTML5 capabilities about form validation and CSS I've built an example with Font Awesome, avoiding JS por validating and submitting the form.

HTML
<!-- Font Awesome in header -->
1
<!-- Font Awesome in header -->
2
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
3
 
4
<!-- Form -->
5
<form>
6
  <div>
7
  <label for="nombre">Nombre</label>
8
  <input type="text" name="nombre" id="nombre" pattern="[a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð ,.'-]{2,48}" required/>
9
  <i class="fa fa-check check-ok"></i>
10
  </div>
11
  <div>
12
  <label for="apellidos">Apellidos</label>
13
  <input type="text" name="apellidos" id="apellidos" pattern="[a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð ,.'-]{2,64}" required/>
14
  <i class="fa fa-check check-ok"></i>
15
  </div>
16
  <div>
17
  <label for="correo">Email</label>
18
  <input type="email" name="correo" id="correo" pattern="^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$" required/>
19
  <i class="fa fa-check check-ok"></i>
20
  </div>
21
  <div>
22
  <label for="usuario">Usuario</label>
23
  <input type="text" name="usuario" id="usuario" pattern="^([a-z]+[0-9]{0,2}){5,12}$" required/>
24
  <i class="fa fa-check check-ok"></i>
25
  </div>
26
  <div>
27
  <label for="pass">Contraseña</label>
28
  <input type="password" name="pass" id="pass" pattern="[A-Za-z0-9!?-]{8,12}" required/>
29
  <i class="fa fa-check check-ok"></i>
30
  </div>
31
  <div>
32
  <button type="submit">Enviar</button>
33
  </div>
34
</form>
 
CSS
/* Basic Styles */
1
/* Basic Styles */
2
 
3
form {
4
  width: 25em;
5
}
6
 
7
div {
8
  margin: .25em;
9
}
10
 
11
label {
12
  display: inline-block;
13
  width: 6em;
14
}
15
 
16
input {
17
  width: 12em;
18
}
19
 
20
button {
21
  display: block;
22
  margin: 0 auto;
23
}
24
 
25
/* Validation Styles */
26
 
27
input:valid {
28
  background-color: #BBFFF0;
29
}
30
 
31
.check-ok {
32
  color: lime;
33
}
34
 
35
input:invalid ~ .check-ok {
36
  display: none;
37
}
38
 
39
input:valid ~ .check-ok {
40
  display: inline;
41
}
42
 
 

Basic Validation HTML5 Form

CSSDeck G+