是否必须验证laravel中的输入是否为空字符串?

时间:2017-05-18 18:56:40

标签: laravel validation laravel-validation

是否有必要验证输入是否具有类型string并且在Laravel的验证器中它不为空?

示例:

$v = Validator::make(['myinput' => $request->input('myinput')], ['myinput' => 'integer|min:1']);
if (!$v->fails()) {
    $someModel->integer_field = $request->input('myinput');
}

不需要字段,如果用户提供此POST请求

'field' => ''

然后Mysql抱怨无法分配给整数字段的空字符串。

此外,如果我提供空数组作为输入

'field' => []

然后它也失败了。

所以我的问题是:如何为NOT必填字段编写健壮的验证器(例如,如果字段存在,那么它必须是:

1. For integers: 1,2,3,4,... (+ null value if column is nullable),

so any other supplied value will not pass

(like boolean true which can be converted to 1 automatically but should not)

)

2. For string: '', 'example', ... (+ null value if column is nullable)

以下是示例https://github.com/laravel/framework/issues/10747

sometimes|required|string仍为空数组传递......

0 个答案:

没有答案