【问题标题】:Laravel Validation rules: required_withoutLaravel 验证规则:required_without
【发布时间】:2021-12-09 01:38:40
【问题描述】:

我有两个字段:EmailTelephone

我想创建一个验证,其中需要两个字段之一,如果设置了一个或两个字段,它应该是正确的格式。

我试过了,但是没用,我两个都需要

 public static array $createValidationRules = [
        'email' => 'required_without:telephone|email:rfc',
        'telephone' => 'required_without:email|numeric|regex:/^\d{5,15}$/',

    ];

【问题讨论】:

  • 您遇到的验证错误是什么
  • 我没有收到验证错误,验证只是说两个字段都是必需的
  • 如果您没有填写这两个文件,您将获得什么。你确定你正在填写这些文件中的任何一个
  • 你只需要电子邮件或电话,但不是都需要吗??
  • 两者中只有一个是必需的,但也应该可以设置两个字段@ManojKiranAppathurai

标签: php laravel validation


【解决方案1】:

如果两个字段都为空,则两个字段都会产生required_without 错误消息是正确的。此错误消息清楚地表明,如果另一个不是,则必须填写该字段。有需要可以change留言:

$messages = [
    'email.required_without' => 'foo',
    'telephone.required_without' => 'bar',
];

但是,您必须添加nullable 规则,因此当字段为空时格式规则不适用:

$rules = [
    'email' => ['required_without:telephone', 'nullable', 'email:rfc'],
    'telephone' => ['required_without:email', 'nullable', 'numeric', 'regex:/^\d{5,15}$/'],
];

此外:It is recommended 将规则写为数组,尤其是在使用 regex 时。

【讨论】:

    猜你喜欢
    • 2021-03-01
    • 1970-01-01
    • 2014-03-26
    • 2022-01-19
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 2020-06-25
    相关资源
    最近更新 更多