假设我有一个文本输入,我不想为空。我可以通过Js查看并告诉用户消息。
据我所知,这不是很安全,我们也应该检查后端。我的问题是,如果我通过 PhP 检查该字段是否为空,那么我从 PhP 告诉用户的消息是否会与 Js 的消息重叠?
最佳答案
不,它不会相互重叠。您也必须在后端验证它的原因是,如果您禁用 JavaScript,这些前端验证将不起作用。
我会给你一个例子,使用 jQuery Validation Plugin .
假设我们有以下 HTML:
<form id="myform">
<input type="text" name="field1" />
<input type="text" name="field2" />
<input type="submit" />
<?php $error ? $error : '' ?>
</form>
以及以下 jQuery:
$(document).ready(function () {
$('#myform').validate({ // initialize the plugin
rules: {
field1: {
required: true,
email: true
},
field2: {
required: true,
minlength: 5
}
}
});
});
以及以下 PHP:
$field1 = $_POST['field1'];
$field2 = $_POST['field2'];
// Validate if fields are matching requirements
if (// Validation fails)
{
$error = 'Some fields are invalid';
}
这是一些非常糟糕的验证,但它是一个例子。
这样,如果 JavaScript 没有被执行,PHP 将返回 $error 以及错误消息。
如果您不知道$error 是什么? $error : ''
的意思是,它相当于:
if ($error) {
echo $error;
} else {
echo '';
}
希望这对您有帮助。
关于javascript - 检查前端和后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24559684/