Entendendo os campos obrigatórios do formulário PHP

Ao longo do artigo, mostraremos os campos obrigatórios do formulário PHP , tanto para os métodos de validação do lado do servidor quanto do lado do cliente.

Além disso, discutiremos algumas práticas recomendadas para que você crie formulários intuitivos e fáceis de preencher.

Os formulários devem ser projetados de forma a garantir que determinados campos sejam obrigatórios, pois isso impedirá que os usuários insiram informações imprecisas ou incompletas no formulário.



Campos obrigatórios do formulário PHP

No artigo anterior , notamos que seis regras de validação eram necessárias.

Precisamos preencher os campos abaixo:

  1. Primeiro nome
  2. Sobrenome
  3. Idade
  4. E-mail
  5. Designação
  6. Escreva suas habilidades

São campos obrigatórios e não podem estar vazios e enviados sem serem preenchidos.

Campos Regras de Validação
Primeiro nome Campo obrigatório + Deve haver apenas letras e espaços em branco no texto
Sobrenome Campo obrigatório + Deve haver apenas letras e espaços em branco no texto
Idade Campo obrigatório + Número válido maior que 0
E-mail Campo obrigatório + O endereço de e-mail deve conter um (@ e .)
Ano de Experiência Campo opcional + Se tiver experiência, digite um número maior que 0
Designação Campo obrigatório + Deve haver apenas letras e espaços em branco no texto
LinkedIn Campo opcional + Se tiver conta no linkedIn , insira-o
Escreva suas habilidades Campo obrigatório + Deve haver apenas letras e espaços em branco no texto
Todos os campos de entrada eram opcionais no capítulo anterior.

Existem algumas novas variáveis ​​no código a seguir que adicionamos:

  • $fnameErr
  • $lnameErr
  • $ageErr
  • $emailErr
  • $designationErr
  • $habilidadesErr

As mensagens de erro serão armazenadas nessas variáveis ​​de erro correspondentes aos campos obrigatórios.

As instruções if else também foram adicionadas para cada uma das variáveis ​​$_POST .

Usando a função empty() , podemos verificar se a variável $_POST está vazia.

A função input_validation() verifica se o campo de entrada está vazio, e se não estiver vazio, envia os dados de entrada do usuário para serem validados pela função input_validation() caso contrário envia uma mensagem de erro para as variáveis ​​de erro:

$fnameErr = $lnameErr = $ageErr = $emailErr = $designationErr = $skillsErr = "";
$firstname = $lastname = $age = $email = $designation = $skills = $linkedin = $yrofexp = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if(empty($_POST("firstname"))){
$fnameErr = "First name is required";
} else{
$firstname = input_validation($_POST["firstname"]);
}

if(empty($_POST("lastname"))){
$lnameErr = "Last name is required";
} else{
$lastname = input_validation($_POST["lastname"]);
}

if(empty($_POST("age"))){
$ageErr = "Age is required";
} else{
$age = input_validation($_POST["age"]);
}

if(empty($_POST("email"))){
$emailErr = "Email is required";
} else{
$email = input_validation($_POST["email"]);
}

if(empty($_POST("skills"))){
$skillsErr = "Email is required";
} else{
$$skills = input_validation($_POST["skills"]);
}

if(empty($_POST("designation"))){
$designationErr = "Email is required";
} else{
$designation = input_validation($_POST["designation"]);
}
}

Formulários PHP: exibir mensagens de erro

Em seguida, adicionaremos um pequeno script após cada campo obrigatório no formulário HTML, para que o script seja capaz de gerar a mensagem de erro apropriada se for necessário (é quando o usuário tenta enviar o formulário sem preencher todos os Os campos obrigatórios):

 

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
First name: <input type="text" name="firstname"><span class="error">* <?php echo $fnameErr; ?></span>
<br><br>
Last name: <input type="text" name="lastname"><span class="error">* <?php echo $lnameErr; ?></span>
<br><br>
Age: <input type="text" name="age"><span class="error">* <?php echo $ageErr; ?></span>
<br><br>
E-mail: <input type="text" name="email"><span class="error">* <?php echo $emailErr; ?></span>
<br><br>
<label for="yrofexp">Year of Experience:</label>
<select name="yrofexp" id="yrofexp">
<option value="">Select number</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
</select>
<br><br>
Designation: <input type="text" name="designation"><span class="error">* <?php echo $designationErr; ?></span>
<br><br>
LinkedIn: <input type="text" name="linkedin">
<br><br>
Write your Skills: <textarea name="skills" rows="5" cols="40"></textarea><span class="error">* <?php echo $skillsErr; ?></span>
<br>
<br><br>
<input type="submit" name="submit" value="Submit">

</form>
Mesclar os códigos HTML e PHP:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>PHP Form</title>
<style>
.error {
color: #FF0000;
}
</style>
</head>
<body>
<?php
$fnameErr = $lnameErr = $ageErr = $emailErr = $designationErr = $skillsErr = "";
$firstname = $lastname = $age = $email = $designation = $skills = $linkedin = $yrofexp = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["firstname"])) {
$fnameErr = "First name is required";
} else {
$firstname = input_validation($_POST["firstname"]);
}
if (empty($_POST["lastname"])) {
$lnameErr = "Last name is required";
} else {
$lastname = input_validation($_POST["lastname"]);
}
if (empty($_POST["age"])) {
$ageErr = "Age is required";
} else {
$age = input_validation($_POST["age"]);
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = input_validation($_POST["email"]);
}
if (empty($_POST["skills"])) {
$skillsErr = "Skills is required";
} else {
$skills = input_validation($_POST["skills"]);
}
if (empty($_POST["designation"])) {
$designationErr = "Designation is required";
} else {
$designation = input_validation($_POST["designation"]);
}
$linkedin = input_validation($_POST["linkedin"]);
$yrofexp = input_validation($_POST["yrofexp"]);
}
// define variables and set to empty values
function input_validation($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>PHP Form Validation</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<p><span class="error">* required field</span></p>
First name: <input type="text" name="firstname"><span class="error">* <?php echo $fnameErr; ?></span>
<br><br>
Last name: <input type="text" name="lastname"><span class="error">* <?php echo $lnameErr; ?></span>
<br><br>
Age: <input type="text" name="age"><span class="error">* <?php echo $ageErr; ?></span>
<br><br>
E-mail: <input type="text" name="email"><span class="error">* <?php echo $emailErr; ?></span>
<br><br>
<label for="yrofexp">Year of Experience:</label>
<select name="yrofexp" id="yrofexp">
<option value="">Select number</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
</select>
<br><br>
Designation: <input type="text" name="designation"><span class="error">* <?php echo $designationErr; ?></span>
<br><br>
LinkedIn: <input type="text" name="linkedin">
<br><br>
Write your Skills: <textarea name="skills" rows="5" cols="40"></textarea><span class="error">* <?php echo $skillsErr; ?></span>
<br>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
echo "<h2>Your Form Data:</h2>";
echo "First Name: ".$firstname;
echo "<br>";
echo "Last Name: ".$lastname;
echo "<br>";
echo "Age: ".$age;
echo "<br>";
echo "Email: ".$email;
echo "<br>";
echo "Year of Experience: ".$yrofexp;
echo "<br>";
echo "Designation: ".$designation;
echo "<br>";
echo "LinkedIn URL: ".$linkedin;
echo "<br>";
echo "Skills: ".$skills;
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Após a validação dos dados de entrada, o próximo passo é verificar se:
  • Os campos nome, sobrenome, designação e habilidades contêm apenas letras e espaços em branco?
  • O campo E-mail está preenchido com uma sintaxe de endereço de e-mail válida?
  • O campo idade está preenchido com um número válido maior que 0?
Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone