您可以通过浏览器中的开发人员控制台将值附加到select元素吗?

时间:2016-08-13 04:05:59

标签: javascript php jquery laravel

到目前为止,我有一个简单的Web应用程序,使用laravel框架在php中编写。

我的问题在于标题:如果我有一个包含多个SELECT元素的Web表单,那么有人可以使用javascript将新选项附加到`SELECT'元素并提交表单(因此保存不是我的数据库中的选项的项目?)?

1 个答案:

答案 0 :(得分:0)

正如评论所暗示的那样,当然可以附加选项,甚至可以更改提交内容的值。

为了防止这种情况发生,您可以使用服务器端验证来检查传入的内容.Laravel提供了开箱即用的验证功能,可以轻松完成此任务。

您要使用的验证规则是in

  

验证字段必须包含在给定的值列表中。

在接收请求的控制器函数内部,只需将其添加到顶部以验证请求,然后再将其传递到数据库:

$validator = Validator::make($request->all(), [
            'select_input' => 'in:foo,bar',
        ], [
            'select_input.in' => 'The option selected was not valid!',
        ]);

        if ($validator->fails()) {
            return Redirect::back()
                ->withErrors($validator)
                ->withInput();
        }

您需要将这些添加到控制器的顶部:

use Validator;
use Input;
use Redirect;

您可以使用更多验证,只需阅读docs