问题标签 [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.
php - 苗条框架中的文件/图像验证请求验证
我想使用以下参数验证上传的图像,例如大小不应大于 100KB,文件类型可以是 [jpg,png,gif]。请帮我在 Slim 框架中为此编写验证规则。我正在使用尊重验证器。
这就是我使用验证规则的方式。除徽标验证外,一切正常。
php - Respect\Validation 中的自定义规则中有多个规则/错误消息?
假设您有这样的自定义规则:
这很好用,但是否可以在此规则中添加其他规则?举例来说,这样的事情是否可能:
CheckFooException
如果(strlen($input) != 3)
被触发,如何在内部定义自定义错误消息?
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
课堂上尊重我自己的文档块?
php - 使用尊重验证进行密码验证
我目前已经设置了一个正则表达式来验证我的密码:
这将检查至少 1 个大写和小写字符、1 个数字、1 个特殊字符/非单词字符以及最少 6 个字符。
我现在将我所有的验证规则移植到Respect Validation。我的大部分设置都很好,但密码验证有困难。
我知道regex
方法:
但这会返回如下错误消息:
我想将方法链接在一起,以便在验证链中设置每个规则。因此,如果您缺少一个数字,它会返回类似“密码必须包含至少 1 个数字”之类的信息,如果您缺少大写字符,它会返回“密码必须包含至少 1 个大写字符”等等。
我认为可以使用该allOff
方法来完成,您可以设置单个规则,如果所有内部规则都通过,则这些规则将全局通过。
作为测试,我尝试检测字符串是否包含数字和字母字符,如下所示:
结果:
regex
现在看它,我得到这些错误的原因是完全有道理的,但是如果没有该方法,我看不出如何做到这一点。我所追求的可能是regex
在这种情况下最好使用该方法吗,我已经浏览了几次规则列表,但我可能错过了我所追求的那个,因为有很多。
任何帮助表示赞赏。
php - 无法使用尊重验证从断言方法中捕获异常
我正在使用尊重验证来尝试验证通过 POST 请求发送的数据。在这样做的过程中,我发现了一个问题,即 Respect Validation 库中的异常没有被捕获。
测试以下内容会返回以下错误:
在这里,我使用了一个泛型Exception
,它应该捕获方法中发生的任何异常assert
。但它似乎没有,我得到一个通用的 Slim 错误,而不是 JSON 响应:
任何想法为什么我不能捕捉到那个异常?
我遇到的问题是,如果顽皮的用户要输入应用程序无法处理的 postdata,Respect Validation 将引发异常。就个人而言,我宁愿尊重验证只是忽略那些,但事实并非如此。所以我想捕捉当用户传递未定义的帖子数据并返回响应时 Respect 抛出的异常。除了,在上面的代码中,异常没有被捕获。
php - 尊重验证无法验证数组项
我在我的 php 应用程序“ https://respect-validation.readthedocs.io/en/1.1/rules/Each/ ”中使用来自此源的内置验证。我通过 ajax 调用将数据传递给 php 应用程序代码,例如
我已将验证应用于 php 代码端的以下字段,例如。
应用于全名、电子邮件、电话号码和年龄等字段的所有验证都运行良好。唯一的问题是应用于此数组的 itemsArray 键(验证规则)。尽管根据验证规则 v::alpha(),这些项目是正确的,但它显示上述项目的错误消息。它还抛出验证消息 4 次而不是 3 次。下面是苹果、香蕉和樱桃三个项目的输出。
我无法跟踪问题。请帮忙 !!!
php - 尊重验证特定字段的可选输入数组
我有一个可供消费者或车队消费者使用的注册输入。取决于他们是什么,取决于他们是否发送有关其车队的额外详细信息。普通消费者只会发送他们的信息,而车队消费者将发送相同的信息,子数组中有 2 个额外的字段。
输入数据为:
如果设置了车队输入,我需要验证它(如果设置了两个字段都需要有效),但如果未设置,则忽略车队字段。
这是我当前的迭代,它允许舰队是可选的,但没有正确验证数组。
任何帮助将不胜感激。
干杯,
菲尔
php - 如何在可选的子对象上添加尊重验证
在 Slim3 框架的尊重验证中,我试图在子对象上添加验证。
如果子对象不是可选的,它可以正常工作。
但是当孩子是可选的(允许为空)时不起作用。
有什么方法可以通过 Respect 为子对象添加可选验证?
以下是上面尝试时的错误
PHP 致命错误:未捕获的 TypeError:参数 1 传递给 Respect\Validation\Rules\Optional::__construct() 必须实现接口 Respect\Validation\Validatable,给定 null
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 解决方案,谢谢
php - 尊重验证 php slim 自定义消息
我已经阅读了文档,我想知道是否可以根据规则和属性制作自定义消息,例如我有以下代码
如您所见,“nombre”和“dni”的长度不同,所以我应该返回两条不同的消息,一条说你不能少于 3 个字符或超过 100 个字符,对于 dni,我应该返回 dni 可以'不少于 8 个字符,也不多于 20 个字符
有办法吗?