当前位置: 首页 > 知识库问答 >
问题:

验证另一个字段是否为空laravel验证

伯晨
2023-03-14

我想验证字段,如果存在,将失败,如果另一个字段不存在如何做到这一点?我已经创建了自定义验证,以获得基于存储ID的记录

我有字段产品标识金额,并且金额字段根据产品标识在最大值和最小值之间进行验证,如果我显示金额=100000且未填写产品id字段,则验证金额字段将通过,并显示错误,因为我未填写产品id我希望在执行自定义验证之前检查产品id是否为空。。

我已经阅读了laravel文档上的所有验证方法,但仍然没有找到解决方案。怎么做?

共有1个答案

束建章
2023-03-14

最后我找到了一个解决办法。。。

在表单请求类中,我只是在validate实例上添加有时规则,因此当产品id字段在金额字段上不存在时,它将不进行验证,当存在时,它将使用如下验证规则进行验证:

class StoreRequest extend FormRequest
{
    protected function getValidatorInstance()
    {
        $validator = parent::getValidatorInstance();

        $validator->sometimes('amount', 'required|numeric|max_amount:product_id', function ($input) {
           return Arr::has($input, 'product_id');
        });

        return $validator;
    }
}
 类似资料:
  • 问题内容: 有没有一种方法可以使用此处定义的注释来定义Hibernate验证规则,说明至少一个字段不能为null? 这将是一个假设的示例(实际上不存在): 在所示的情况下,fieldA可以为null或fieldB可以为null,但不能同时为两者。 一种方法是创建自己的验证器,但是我想避免它已经存在。如果您已经验证过,请分享一个验证人…谢谢! 问题答案: 我终于写了整个验证器: 用法示例:

  • 问题内容: 我有两个字段,仅当两个字段都不存在时才是可选的: 现在,需要大于。如何包含此过滤器? 问题答案: 有 没有内置的验证 ,它可以让你比较字段值一样,在 Laravel ,所以你需要实现一个 自定义的验证 ,这将让你重新使用验证需要的地方。幸运的是,Laravel使编写自定义验证器 变得非常容易 。 首先在您的 AppServiceProvider中 定义新的验证器: 现在,您可以在 $

  • 我使用Symfony 5.3。我有一个表单,有3个字段没有映射到任何实体: "原因"-文本, use_predefined复选框 "predefined_reason"-下拉列表。 我构建的表单如下(一个片段): “原因”字段应根据需要显示在UI中,但其他两个字段不应显示。但是,在验证过程中,如果选中了复选框“预定义的原因”,则第一个字段不应为必填字段,而“预定义的原因”应为必填字段。

  • 我开始使用验证框架用jax-rs验证json请求 是否可以根据另一个字段验证一个字段? 提前致谢

  • 我在jquery中使用ajax调用将用户输入从刀片服务器发送到控制器。 我有一个输入字段 fname代表firstname,lname代表lastname 在我的jquery中,我有一个电话 field是字段的名称,val是用户在输入中输入的值。 updateProfilePage是一个ajax调用 在我的路由文件中,这调用了我的存储函数。我纠结的是如何验证用户输入的值。这是我在控制器中的存储方法

  • 问题内容: 我使用并且有以下内容; 验证说,但问题是该字段是 可选的 。因此,当用户将其留空时,也会显示相同的错误消息。 因此,我想做的是仅在字段不为空时验证。如果该字段为空,则跳过该字段的验证 问题答案: 我建议您不要使用,而是使用 主要原因是我们显示了要限制用户的一组值的消息,在此情况下,您的条件消息中显示了您不想限制的值。 因此,您想限制用户输入除空格和数字之外的其他任何内容,为此输入一个正