>本文介紹了尊重驗證,與Symfony,Laravel和Zend驗證器(例如流行的替代方案)相比,簡化的數據驗證軟件包提供了增強的靈活性和簡單性。 讓我們探索其關鍵特徵。
尊重驗證的關鍵優勢:
getFullMessage
和getMainMessage
進行微調錯誤消息,以改進用戶反饋。 findMessages
>
not()
)的可接受和不可接受的數據模式,增強了應用程序安全性和數據完整性。 oneOf
allOf
>zend驗證器提供了類似的功能。 尊重驗證提供了更簡潔的選擇。
>class UserSubscriptionForm { protected $email; public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('email', new \Assert\Email([ 'message' => 'Invalid email.' ])); } }
尊重行動中的驗證:
//Laravel Validation $validator = \Validator::make( ['email' => $request->get('email')], ['email' => 'required|email'] );
尊重驗證在處理多個規則的鏈接方面表現出色:
或使用:
$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 }
>它也支持規則否定:
Validator::string()->noWhitespace()->length(4, 10);
allOf
用戶訂閱表單驗證示例(laravel):
$inputValidator = \Respect\Validation\Validator::allOf(new String(), new Length(4, 10));
)以有效地管理驗證規則和錯誤消息。 此示例在現實世界中展示了尊重驗證的力量和靈活性。 (對於簡短而省略了此示例的詳細代碼,但原始輸入中存在)。
$inputValidator = \Respect\Validation\Validator::not(\Respect\Validation\Validator::numeric());
創建和擴展規則:
尊重驗證允許使用with()
方法創建自定義規則來添加名稱空間。 它還支持與Symfony和Zend的規則無縫集成。
class UserSubscriptionForm { protected $email; public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('email', new \Assert\Email([ 'message' => 'Invalid email.' ])); } }
結論:
(從原始輸入中的FAQS部分省略了,因為它與尊重驗證軟件包的核心主題無關。)
以上是通過尊重驗證驗證您的數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!