![](/img/trans.png)
[英]How to customize z3c.form widget for fields inside groups (fieldsets)
[英]Using a Form Widget Validator on multiple fields
我已經為我的架構字段編寫了一個自定義驗證器,如此處的文檔所示: http : //docs.plone.org/develop/plone/forms/z3c.form.html#form-widget-validators
我的問題是,如果我想對幾個不同的字段使用相同的驗證器,這可能嗎? 它似乎不起作用。 例如我想寫:
# Set conditions for which fields the validator class applies
validator.WidgetValidatorDiscriminators(PhoneNumberValidator, field=IZohoContactForm['phone_number'])
validator.WidgetValidatorDiscriminators(PhoneNumberValidator, field=IZohoContactForm['another_phone_field'])
作為一種解決方法,我編寫了兩個具有不同名稱的相同驗證器,這違反了 DRY 原則,但我對此似乎無能為力……
也可以為field
參數傳遞字段類型(請參閱: https : //docs.plone.org/develop/addons/schema-driven-forms/customising-form-behaviour/validation.html#field-widget -validators ): validator.WidgetValidatorDiscriminators(MyListValidator, field=schema.List)
在上面的示例中,驗證器應用於schema.List
類型的所有字段
這是一個老問題,但我最近才遇到這個問題,這是我的方法:
class ICaptchaSchema(model.Schema):
captcha = schema.TextLine(
title=_('security_check', default="Security check"),
)
class IFormSchema(model.Schema):
captcha1 = ICaptchaSchema['captcha']
captcha2 = ICaptchaSchema['captcha']
validator.WidgetValidatorDiscriminators(YourCustomValidator,
field=ICaptchaSchema['captcha'])
所有字段“驗證碼”都將進行調整。
問候。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.