私は電子メールのリストのためのテキストフィールドを持つTurboGearsの2のフォームを持っています。 ToscaWidgetsやFormEncodeを使用してSetとEmailのフォームバリデーターを連鎖させる簡単な方法はありますか?それとも自分のバリデーターを書く必要がありますか?
0
A
答えて
0
私は以下のようになるはずです。それは最初の無効で停止するのではなく、各電子メールを試すという利点があります。また、状態にエラーを追加して、どのエラーが発生したかを知ることができます。
from formencode import FancyValidator, Invalid
from formencode.validators import Email
class EmailList(FancyValidator):
""" Takes a delimited (default is comma) string and returns a list of validated e-mails
Set the delimiter by passing delimiter="A_DELIMITER" to the constructor.
Also takes all arguments a FancyValidator does.
The e-mails will always be stripped of whitespace.
"""
def _to_python(self, value, state):
try:
values = str(value).split(self.delimiter)
except AttributeError:
values = str(value).split(',')
validator = formencode.ForEach(validators.Email())
validator.to_python(values, state)
return [value.strip() for value in values]
0
私が望んだのは、StringとIntバリデータのようなフィールドにちょうど固執できるバリデータでした。自分のバリデーターを作成しない限り、これを行う方法がないことがわかりました。私は完全性のためにここにそれを掲示しているので、他の人が利益を得ることができます。
1
http://formencode.org/Validator.html
からもう一つの注目すべきバリデータはformencode.compound.Allある - これは、化合物のバリである - つまり、それは、入力としてバリを取るバリデータです。スキーマは一例です。この場合、Allはバリデータのリストを取り、それぞれを順番に適用します。 formencode.compound.Anyは、最初の渡しバリデーターをそのリストに使用する補足です。 FormEncode validatorsで
0
- パイプとラッパー、あなたはできます
from formencode import validators, compound
compound.Pipe(validators.Wrapper(to_python=lambda v: v.split(',')),
validators.Email())
関連する問題
- 1. FormEncode、pylons、mako例
- 2. ルビー:バリ
- 3. カスタマイズJSFバリMSG
- 4. jqueryのバリ - addClassRules
- 5. データ注釈バリ
- 6. HTML5必要バリ=ボタン
- 7. 停止実行フローエクスプレス・バリ
- 8. PropelのORMバージョン1.6.4 -understandingバリ
- 9. チェーン
- 10. sfContextのは::のgetInstance() - > getUserメソッド()今、バリ
- 11. どのようにユニットテストデータ注釈バリへ
- 12. Laravelのバリ - 整合性制約違反
- 13. Pylonsフォーム要素の配列を持つFormEncode
- 14. チェーンC++ストリーム
- 15. jQueryのチェーン
- 16. チェーン選択 - jQuery
- 17. Jqueryチェーンとコールバック
- 18. チェーンLuaのメタデータ
- 19. コロナsdkチェーンのサンプルアプリケーション
- 20. Extjs4チェーン付きコンボ
- 21. Javascriptでチェーンする
- 22. チェーン依存性プロパティ
- 23. Jqueryのオートコンプリート・チェーン・リクエスト
- 24. jquery適切なチェーン?
- 25. 依存チェーン解析
- 26. Ajaxのコールバックはチェーン
- 27. Entity Frameworkチェーンwhere節
- 28. チェックXMLチェーンは、PHP
- 29. チェーンされていない変数とチェーンされた変数?
- 30. python formencodeを使ってファイルサイズを検証する方法はありますか?
興味深い、私はアップグレードが好き。 – Robbie
13行目に値を割り当てます。 values = validator.to_python(values、state) – Robbie