Reputation: 4633
Let's say that I have a text input that I don't want to be empty. I can check it through Js and tell the user a message.
As much as I've heard, this isn't very secure and we should check in the backend, too. My question is, if I check that the field is empty through PhP, wouldn't the message that I tell the user from PhP overlap the Js one?
Upvotes: 0
Views: 655
Reputation: 3050
No it won't overlap eachother. The reason you will have to validate it backend too is because if you disable JavaScript those frontend validations won't work.
I will give you an example, using the jQuery Validation Plugin.
Lets say we have the following HTML:
<form id="myform">
<input type="text" name="field1" />
<input type="text" name="field2" />
<input type="submit" />
<?php $error ? $error : '' ?>
</form>
And the following jQuery:
$(document).ready(function () {
$('#myform').validate({ // initialize the plugin
rules: {
field1: {
required: true,
email: true
},
field2: {
required: true,
minlength: 5
}
}
});
});
And the following PHP:
$field1 = $_POST['field1'];
$field2 = $_POST['field2'];
// Validate if fields are matching requirements
if (// Validation fails)
{
$error = 'Some fields are invalid';
}
This is some really poor validation but it's an example.
So this way if the JavaScript does not get executed, PHP will return $error with the error messages.
If you don't know what $error ? $error : ''
means, it an equivalent of:
if ($error) {
echo $error;
} else {
echo '';
}
Hope this helps you.
Upvotes: 1