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

laravel 表单验证问题

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

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 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年前

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