php - 自定义消息验证正则表达式 Laravel
问题描述
我一直在尝试为正则表达式创建自定义消息。到目前为止,我已经能够得到这个消息。
但我希望每个正则表达式都能够放置消息,例如:对于正则表达式 [AZ],我希望它们有自己的自定义消息,而不是对所有这些都具有相同且唯一的消息。
$req->validate([
'login'=> 'required|unique:user',
'email' => 'required|unique:user|email|regex:/(.+)@(.+)\.(.+)/i',
'password' => [
'required',
'min:8', // must be at least 10 characters in length
'confirmed',
'regex:/[a-z]/', // must contain at least one lowercase letter
'regex:/[A-Z]/', // must contain at least one uppercase letter
'regex:/[0-9]/',
'regex:/[@$!%*#?&]/' // must contain a special character
],
'password_confirmation' => 'required'
], [
'login.unique' => "Le nom d'utilisateur est déjà pris",
'email.unique' => "L'adresse mail est déjà utilisé",
'required' => 'Le champ est obligatoire',
'email.regex' => 'Le champ doit respecter le format comme indiqué',
'email.email'=> 'Le champ doit respecter le format comme indiqué',
'password.min'=> 'Le mot de passe doit contenir au moins 8 caractères',
'password.regex' => 'Le mot de passe doit contenir au moins 1 majuscule, 1 minuscule et un caractère spéciale',
'password.digits_between' => 'Le mot de passe doit contenir au moins 1 chiffres et maximum 10',
'password.confirmed' => 'Les deux mots de passes doivent être similaire',
]);
我想要这样的东西'regex:/[a-z]/'=> 'One letter between a to z'
非常感谢
解决方案
尝试这个:
$req->validate([
'login'=> 'required|unique:user',
'email' => 'required|unique:user|email|regex:/(.+)@(.+)\.(.+)/i',
'password' => [
'required',
'min:8', // must be at least 10 characters in length
'confirmed',
'regex:/[a-z]/', // must contain at least one lowercase letter
'regex:/[A-Z]/', // must contain at least one uppercase letter
'regex:/[0-9]/',
'regex:/[@$!%*#?&]/' // must contain a special character
],
'password_confirmation' => 'required'
], [
'login.unique' => "Le nom d'utilisateur est déjà pris",
'email.unique' => "L'adresse mail est déjà utilisé",
'required' => 'Le champ est obligatoire',
'email.regex' => 'Le champ doit respecter le format comme indiqué',
'email.email'=> 'Le champ doit respecter le format comme indiqué',
'password.min'=> 'Le mot de passe doit contenir au moins 8 caractères',
'password.regex.0' => 'Le mot de passe doit contenir au moins 1 majuscule',
'password.regex.1' => 'Le mot de passe doit contenir au moins 1 minuscule',
'password.regex.3' => 'Le mot de passe doit contenir au moins un caractère spéciale',
'password.digits_between' => 'Le mot de passe doit contenir au moins 1 chiffres et maximum 10',
'password.confirmed' => 'Les deux mots de passes doivent être similaire',
]);
推荐阅读
- r - 创建可以判断变量输入是字符串还是符号的 dplyr 函数
- c - C:将二维数组交给双指针
- powershell - 从 CLI 发送可变数量的键值对
- javascript - Filereader API 在 Chrome 中不工作在 IE 中工作
- python - 如何将数据从一个项目的存储桶加载到 python 中的另一个项目的表中?
- angularjs - 控制器“初始化”函数执行了不止一次
- c - 打印一个包含所有十六进制数字和 n 个半字节的数组
- c++ - 使用 libpthread 在共享库中未定义的行为,但在 ELF 中没有作为依赖项
- travis-ci - 将所有运行时工件从 TravisCI 部署到 PyPi
- anylogic - 如何设置取决于时间的到达率