我只是在写表格。但是我想在上执行自定义验证hostname。这if type = A则验证它是其他域名明智的,如果它是type = PTR验证它是IP addres秒。这个逻辑会在表单或视图中完成吗?
RECORD_CHOICES = (
('A','A'),
('Cname','CNAME'),
('PTR', 'PTR'),
)
class CacheCheck(forms.Form):
type = forms.TypedChoiceField(choices=formfields.TYPE_CHOICES, initial='FIXED')
record = forms.TypedChoiceField(choices=formfields.RECORD_CHOICES, initial='FIXED')
hostname = forms.CharField(max_length=100)
def clean(self):
cleaned_data = super(CacheCheck, self).clean()
record = cleaned_data.get("record")
if record == "PTR":
hostname = forms.GenericIPAddressField(label=("ip address"))
else record == "A":
hostname = forms.RegexField(label=("hostname"), max_length=31, regex=r'[a-zA-Z0-9-_]*\.[a-zA-Z]{2,6}'
传递给CacheCheck类的form.Form也是mixin或子类的形式吗?
慕哥6287543
慕少森
相关分类