在Laravel中验证表单agaisnt修改的可选值

时间:2017-12-10 21:33:15

标签: php forms laravel validation

我有这个表格。

{!! Form::open(['action' => 'ArticlesController@store', 'method' => 'post', 'enctype' => 'multipart/form-data']) !!}
   <div class="form-group">
      Form::select('size', array(
        'L' => 'Large', 
        'S' => 'Small'
     ));
   </div>
{!! Form::close() !!}

用户将有一个下拉列表来选择Large(值:L)或Small(值:S)。但是,如果用户使用开发工具或其他任何内容更改任何选项的值。

如果用户使用最初不在选择选项中的值发送'尺寸'字段,我该如何验证表单?

我的意思是,如何检查发送的值是 L 还是 S ,而不是其他任何内容。

因为用户可以轻松编辑表单并发送他想要发送的任何值,他可以发送一个不应该发送的值。

我可以使用validate类来做到这一点,但是如果不是2个选项列表,那么这是一个100选项列表是不可能的。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式验证:

$request->validate(['size' => 'required|in:L,S']);
管道“|in:L,S'”之后的

部分用于检查$ request属性值是否等于该规则中的任何值。

https://laravel.com/docs/5.5/validation#rule-in