检查前端和后端

时间:2014-07-03 17:13:07

标签: javascript php

假设我有一个文本输入,我不想空。我可以通过Js检查它并告诉用户一条消息。

就像我听到的那样,这不是很安全,我们也应该检查后端。我的问题是,如果我通过PhP检查字段是否为空,那么我从PhP告诉用户的消息不会与Js重叠吗?

1 个答案:

答案 0 :(得分:1)

不,它不会互相重叠。您必须在后端验证它的原因是因为如果您禁用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 '';
}

希望这会对你有所帮助。