问题标签 [respect-validation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
666 浏览

php - 苗条框架中的文件/图像验证请求验证

我想使用以下参数验证上传的图像,例如大小不应大于 100KB,文件类型可以是 [jpg,png,gif]。请帮我在 Slim 框架中为此编写验证规则。我正在使用尊重验证器。

这就是我使用验证规则的方式。除徽标验证外,一切正常。

0 投票
1 回答
411 浏览

php - Respect\Validation 中的自定义规则中有多个规则/错误消息?

假设您有这样的自定义规则:

这很好用,但是否可以在此规则中添加其他规则?举例来说,这样的事情是否可能:

CheckFooException如果(strlen($input) != 3)被触发,如何在内部定义自定义错误消息?

0 投票
1 回答
3507 浏览

php - 在尊重/验证中使用自定义规则时,PHPStan 抛出未定义的静态方法

我正在使用Respect/Validation类,并且我有自定义规则CustomRule()可以正常工作:

但这会导致 PHPStan 抛出错误:

Call to an undefined static method Respect\Validation\Validator::CustomRule().

但是,如果我在内置规则(例如,email())之后移动它,PHPStan 工作正常,没有错误:

'email' => v::email()->CustomRule()->setName('email');

需要明确的是,这两个代码都有效,但 PHPStan 认为第一个代码是无效的。

任何解决方法以便 PHPStan 会接受它,即使CustomRule()是先设置的?

更新:

我发现如果我编辑Respect\Validation\Validator类的文档块并将我的自定义规则附加到其内置规则列表中,它就可以工作!

当然,直接从主类修改 doc 块是个坏主意。也就是说,我的问题仍然是一样的。或者,也许 PHPStan 有办法从我的CustomRule课堂上尊重我自己的文档块?

0 投票
0 回答
649 浏览

php - 使用尊重验证进行密码验证

我目前已经设置了一个正则表达式来验证我的密码:

这将检查至少 1 个大写和小写字符、1 个数字、1 个特殊字符/非单词字符以及最少 6 个字符。

我现在将我所有的验证规则移植到Respect Validation。我的大部分设置都很好,但密码验证有困难。

我知道regex方法:

但这会返回如下错误消息:

我想将方法​​链接在一起,以便在验证链中设置每个规则。因此,如果您缺少一个数字,它会返回类似“密码必须包含至少 1 个数字”之类的信息,如果您缺少大写字符,它会返回“密码必须包含至少 1 个大写字符”等等。

我认为可以使用该allOff方法来完成,您可以设置单个规则,如果所有内部规则都通过,则这些规则将全局通过。

作为测试,我尝试检测字符串是否包含数字和字母字符,如下所示:

结果:

regex现在看它,我得到这些错误的原因是完全有道理的,但是如果没有该方法,我看不出如何做到这一点。我所追求的可能是regex在这种情况下最好使用该方法吗,我已经浏览了几次规则列表,但我可能错过了我所追求的那个,因为有很多。

任何帮助表示赞赏。

0 投票
1 回答
243 浏览

php - 无法使用尊重验证从断言方法中捕获异常

我正在使用尊重验证来尝试验证通过 POST 请求发送的数据。在这样做的过程中,我发现了一个问题,即 Respect Validation 库中的异常没有被捕获。

测试以下内容会返回以下错误:

在这里,我使用了一个泛型Exception,它应该捕获方法中发生的任何异常assert。但它似乎没有,我得到一个通用的 Slim 错误,而不是 JSON 响应:

在此处输入图像描述

任何想法为什么我不能捕捉到那个异常?

我遇到的问题是,如果顽皮的用户要输入应用程序无法处理的 postdata,Respect Validation 将引发异常。就个人而言,我宁愿尊重验证只是忽略那些,但事实并非如此。所以我想捕捉当用户传递未定义的帖子数据并返回响应时 Respect 抛出的异常。除了,在上面的代码中,异常没有被捕获。

0 投票
1 回答
972 浏览

php - 尊重验证无法验证数组项

我在我的 php 应用程序“ https://respect-validation.readthedocs.io/en/1.1/rules/Each/ ”中使用来自此源的内置验证。我通过 ajax 调用将数据传递给 php 应用程序代码,例如

我已将验证应用于 php 代码端的以下字段,例如。

应用于全名、电子邮件、电话号码和年龄等字段的所有验证都运行良好。唯一的问题是应用于此数组的 itemsArray 键(验证规则)。尽管根据验证规则 v::alpha(),这些项目是正确的,但它显示上述项目的错误消息。它还抛出验证消息 4 次而不是 3 次。下面是苹果、香蕉和樱桃三个项目的输出。

我无法跟踪问题。请帮忙 !!!

0 投票
1 回答
384 浏览

php - 尊重验证特定字段的可选输入数组

我有一个可供消费者或车队消费者使用的注册输入。取决于他们是什么,取决于他们是否发送有关其车队的额外详细信息。普通消费者只会发送他们的信息,而车队消费者将发送相同的信息,子数组中有 2 个额外的字段。

输入数据为:

如果设置了车队输入,我需要验证它(如果设置了两个字段都需要有效),但如果未设置,则忽略车队字段。

这是我当前的迭代,它允许舰队是可选的,但没有正确验证数组。

任何帮助将不胜感激。

干杯,

菲尔

0 投票
1 回答
245 浏览

php - 如何在可选的子对象上添加尊重验证

在 Slim3 框架的尊重验证中,我试图在子对象上添加验证。

如果子对象不是可选的,它可以正常工作。

但是当孩子是可选的(允许为空)时不起作用。

有什么方法可以通过 Respect 为子对象添加可选验证?

以下是上面尝试时的错误

PHP 致命错误:未捕获的 TypeError:参数 1 传递给 Respect\Validation\Rules\Optional::__construct() 必须实现接口 Respect\Validation\Validatable,给定 null

0 投票
1 回答
45 浏览

php - 尊重验证规则 email() 验证电子邮件地址 ne fonctionne pas

j'utilise la librairie 尊重\验证

倒检查器 l'email() https://respect-validation.readthedocs.io/en/latest/rules/Email/

mais seulement si on ne précise pas le .net ça fonctionne quand meme !!

je cherche une 解决方案,谢谢

0 投票
1 回答
363 浏览

php - 尊重验证 php slim 自定义消息

我已经阅读了文档,我想知道是否可以根据规则和属性制作自定义消息,例如我有以下代码

如您所见,“nombre”和“dni”的长度不同,所以我应该返回两条不同的消息,一条说你不能少于 3 个字符或超过 100 个字符,对于 dni,我应该返回 dni 可以'不少于 8 个字符,也不多于 20 个字符

有办法吗?