Laravel 表单验证问题,请大家指点一下思路!

laravel 表单验证问题

假设有10个输入框,想要的规则是:

“不全为空”、“不能相同”,请大家指点一下思路就好,多谢!

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

这种还是老实判断下?

4年前 评论
HEPING (楼主) 4年前
giao哥

输入框使用数组组装数据 然在使用自定义验证方式进行处理,比如 params=[1,2,10,10,10......]

file

4年前 评论
HEPING (楼主) 4年前

写过一个,你看下你能用不。
自定义验证规则:

// 非空不重复数组验证 non_empty_array
Validator::extend('non_empty_array', function ($attribute, $value, $parameters) {
    // 去空 去重 取前 n 个
    $array = array_slice(array_unique(array_filter($value)), 0, $parameters[1]);
    return count($array) >= $parameters[0];
});

自定义验证信息:

// 语言包新增
'non_empty_array' => ':attribute 必须包含 :min - :max 个非空且不重复的值。',

// 非空不重复数组验证 non_empty_array
Validator::replacer('non_empty_array', function ($message, $attribute, $rule, $parameters) {
  return str_replace([':min', ':max'], $parameters, $message);
});

使用方法:

// 验证器
$validator = Validator::make($request->all(), [
    'something' => 'required|array|non_empty_array:1,5',
]);
4年前 评论
HEPING (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!