「通常の」検証でエラーが発生した場合、フォームが事後検証に進むのを防ぐ方法はありますか?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. symfonyフォームの検証ゲッターは常に起動/失敗します
- 3. 検証が失敗した場合、検証段階の後のチェックイン方法は?
- 4. 検証に失敗した場合、Jqueryの検証は機能しません。
- 5. KeystoneJSで検証が失敗した場合にフラッシュメッセージを作成
- 6. JSR検証でのローカライズサポート検証に失敗した場合のメッセージのAPI
- 7. 検証に失敗した場合はjavascriptを呼び出す
- 8. 検証に失敗した場合にdivを表示
- 9. asp.netウィザードで検証が失敗した場合のキャンセル手順
- 10. フォームの検証が失敗した場合の更新フォームページ
- 11. スタイルHTML5の入力タイプの検証が失敗した場合
- 12. CSRF検証に失敗しました。リクエストが中止されました。 Django
- 13. 検証に失敗した場合のRailsルーティング?
- 14. 検証が失敗した場合にActiveRecordトランザクションをロールバックしない方法
- 15. 検証が失敗し、
- 16. 検証が失敗した場合、WPFに保存ボタンを無効にする
- 17. ActiveRecord検証:検証に失敗した場合でも関連付けが保存されます
- 18. Chromeが正しいパターンの検証に失敗しました
- 19. Regex検証失敗
- 20. jqueryを使用して検証が失敗した場合、テキストボックスを振る
- 21. 検証が失敗した場合のNullpointerexceptionコンバータを使用したJSF
- 22. Laravel検証用スペース文字は常に失敗しました
- 23. RobotParserがSSL証明書の検証に失敗しました
- 24. JSF - 検証に失敗したフォーカスコンポーネント
- 25. ActiveModel:関連するモデルが失敗した場合の検証の失敗を無効にする
- 26. Mockito検証に失敗しない
- 27. Struts2の検証 - 検証が失敗した場合の子どもの再作成
- 28. 検証が失敗した場合にフォームの提出を防止する(角材)
- 29. XSD検証が失敗している
- 30. codeigniterで検証が失敗した場合、特定のコントローラ機能にリダイレクト
いただきました「ノーマル」の検証? – Pabloks