>本文介绍了尊重验证,与Symfony,Laravel和Zend验证器(例如流行的替代方案)相比,简化的数据验证软件包提供了增强的灵活性和简单性。 让我们探索其关键特征。
尊重验证的关键优势:
getFullMessage
和getMainMessage
进行微调错误消息,以改进用户反馈。findMessages
>
not()
)的可接受和不可接受的数据模式,增强了应用程序安全性和数据完整性。oneOf
allOf
>zend验证器提供了类似的功能。 尊重验证提供了更简洁的选择。
><code class="language-php">class UserSubscriptionForm { protected $email; public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('email', new \Assert\Email([ 'message' => 'Invalid email.' ])); } }</code>
尊重行动中的验证:
<code class="language-php">//Laravel Validation $validator = \Validator::make( ['email' => $request->get('email')], ['email' => 'required|email'] );</code>>使用尊重验证的基本电子邮件验证示例:
尊重验证在处理多个规则的链接方面表现出色:
或使用:
<code class="language-php">$emailValidator = \Respect\Validation\Validator::email(); try { $emailValidator->assert($request->get('email')); } catch (\Respect\Validation\Exceptions\NestedValidationExceptionInterface $ex) { $errors = $ex->getMainMessage(); // Or getFullMessage(), findMessages() // Handle errors }</code>
>它也支持规则否定:
<code class="language-php">Validator::string()->noWhitespace()->length(4, 10);</code>
allOf
用户订阅表单验证示例(laravel):
<code class="language-php">$inputValidator = \Respect\Validation\Validator::allOf(new String(), new Length(4, 10));</code>>本文提供了一个全面的示例,使用基于Laravel的用户订阅表格,演示了如何创建自定义验证器类(
)以有效地管理验证规则和错误消息。 此示例在现实世界中展示了尊重验证的力量和灵活性。 (对于简短而省略了此示例的详细代码,但原始输入中存在)。
<code class="language-php">$inputValidator = \Respect\Validation\Validator::not(\Respect\Validation\Validator::numeric());</code>
创建和扩展规则:
尊重验证允许使用with()
方法创建自定义规则来添加名称空间。 它还支持与Symfony和Zend的规则无缝集成。
<code class="language-php">class UserSubscriptionForm { protected $email; public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('email', new \Assert\Email([ 'message' => 'Invalid email.' ])); } }</code>
结论:
(从原始输入中的FAQS部分省略了,因为它与尊重验证软件包的核心主题无关。)
以上是通过尊重验证验证您的数据的详细内容。更多信息请关注PHP中文网其他相关文章!