Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django表单小部件编号输入_Django_Django Forms - Fatal编程技术网

django表单小部件编号输入

django表单小部件编号输入,django,django-forms,Django,Django Forms,我的表单中有下面的代码。py我试图让手机上的小部件显示一个错误,如果输入的不是数字,但它不起作用。其他一切都可以。type=number没有在表单上显示错误的原因是什么 class UserProfileForm(forms.ModelForm): class Meta: model = UserProfile exclude = ('user',) widgets = { 'first_name': form

我的表单中有下面的代码。py我试图让手机上的小部件显示一个错误,如果输入的不是数字,但它不起作用。其他一切都可以。type=number没有在表单上显示错误的原因是什么

class UserProfileForm(forms.ModelForm):


    class Meta:
        model = UserProfile
        exclude = ('user',)

        widgets = {
            'first_name': forms.TextInput(attrs={'maxlength':100, 'required': True}),
            'last_name': forms.TextInput(attrs={'maxlength': 100, 'required': True}),
            'phone': forms.NumberInput(attrs={'minlength': 10, 'maxlength': 15, 'required': True, 'type': 'number',}),       
            'date_of_birth': forms.DateInput(attrs={'minlength': 10, 'maxlength': 10, 'required': True}),

            'country': CountrySelectWidget(attrs={'country': 'CountrySelectWidget'}),

        }
我试图让手机上的小部件在输入错误时显示错误 不是数字,但它不起作用

我怀疑您的电话号码字段在您的模型中没有定义为整数字段,如果是,验证检查将确保未输入非整数数据

基于这一假设,您应该超越领域,而不是小部件。使用meta属性或明确定义字段

class UserProfileForm(forms.ModelForm):
    phone = forms.IntegerField(validators = [custom_validator,])

它还允许您在需要时使用自定义验证器。

您在文档中读过吗?@ettanany我已经读过了。你能建议我怎样才能得到表格来验证输入吗?