如果在「正常」驗證中發生錯誤,是否有辦法阻止表單進行後驗證?Symfony:如果正常驗證失敗,則停止驗證後驗證
0
A
回答
1
你需要使用一個回調來驗證表單...例如:
public function configure()
{
$this->widgetSchema['email'] = new sfWidgetFormInput();
$this->validatorSchema['email'] = new sfValidatorEmail(array('required' => true));
$this->validatorSchema->setPostValidator(
new sfValidatorCallback(array('callback' => array($this, 'postValidate')))
);
}
public function postValidate($validator, $values)
{
// only run the post validator if the email has passed validation
// if it hasn't passed validation, it will be blank and we can skip this
if ($values['email'])
{
$v = new myPostValidator();
$v->clean($values);
}
return $values;
}
0
這取決於你的意思是用「正常」和後驗證什麼:
在動作類,您可以使用條件:
if ($form->isValid()) { // code here before and after the save(); }
還是你的動作使用postExecute?
+0
「正常」驗證程序是附加到每個窗口小部件的驗證程序,後驗證程序是使用setPostValidator()設置的驗證程序 – tamir
相關問題
- 1. 服務驗證:如果驗證失敗,則拋出異常
- 2. 角2+:停止表單驗證需要驗證失敗後
- 3. UniqueEntity驗證失敗 - Symfony?
- 4. ASP.NET驗證 - 停止對驗證第一次失敗
- 5. 如果驗證失敗,則停止提交表單。
- 6. Django CSRF驗證CSRF驗證失敗。請求異常終止
- 7. 如果驗證失敗,則顯示div
- 8. 驗證失敗
- 9. 驗證失敗
- 10. 驗證失敗
- 11. 驗證失敗
- 12. 驗證失敗
- 13. 驗證谷歌驗證碼失敗
- 14. PHP HTTP身份驗證驗證失敗
- 15. WSOD驗證失敗結果
- 16. SSL:CERTIFICATE_VERIFY_FAILED證書驗證失敗
- 17. 證書驗證失敗
- 18. SSL證書驗證失敗
- 19. SSL認證驗證失敗
- 20. SSLHandshakeError證書驗證失敗
- 21. ASP.net MVC驗證與jQuery驗證混合dataannotations驗證失敗時
- 22. Laravel驗證:檢查驗證者驗證失敗的原因
- 23. 如果其他驗證失敗,Rails ActiveRecord驗證有效嗎?
- 24. messagebox停止驗證
- 25. C#正則表達式驗證驗證
- 26. SVN驗證失敗
- 27. 驗證SignUp失敗
- 28. 驗證失敗2
- 29. XSD驗證失敗
- 30. PHP驗證失敗
什麼「正常」的驗證? – Pabloks