Django form error message showing despite selecting something from dropdown -


i have django model is:

class account(models.model):     name = models.charfield(max_length=50, blank=true)     number = models.charfield(max_length=16, blank=true) 

i'd create form user can select existing account's phone number dropdown list. in forms.py, have:

class accountselectform(forms.form):     phone_num_err_msgs = {'required': "you must select phone number send message."}      phone_number = forms.charfield(required=true, error_messages=phone_num_err_msgs)     selected_group_ids = forms.charfield(required=true, widget=forms.hiddeninput)     launch_datetime = forms.charfield(required=true) 

in views.py, have:

class accountselectview(loginrequiredmixin, formview):     template_name = 'campaigns/send.html'     form_class = accountselectform     success_url = reverse_lazy('campaigns:taskq_list')      def get_context_data(self, **kwargs):         data = super(accountselectview, self).get_context_data(**kwargs)         data['groups'] = group.objects.all()         data['campaign'] = campaign.objects.get(id=self.request.get['cam_id'])         data['accounts'] = account.objects.all()         return data      def form_valid(self, form):         # if insert pdb, never reach here         #import pdb         #pdb.set_trace()          data = form.cleaned_data         campaign_id = self.request.get['cam_id']         # ... other form validation stuff here         return super(conversationsendview, self).form_valid(form) 

in send.html, have:

<form action="" method="post">     {% csrf_token %}     <!-- couple of other fields collect user input -->     <div class="form-group">         <p><b>step 3: select aphone number send message from:</b></p>         {{ form.phone_number.errors }}         <select id="phone" style="width: 380px;">             <option value="">--------</option>             {% in accounts %}                 <option value="{{ a.id }}">{{ a.number }}</option>             {% endfor %}         </select>     <div class="page-btns">         <input type="submit" class="btn btn-primary" value="send message selected group(s)" />     </div> </form> 

but despite selecting entry dropdown list (and other required forms) before submitting, keep seeing phone_num_err_msgs on html page [please see screenshot here].

is there i'm missing? (which file) can import pdb , see why returning error? i'm new django, silly mistake/overlook. in advanced answers!

there few things wrong here. immediate cause missing name="phone_number " in select tag, browser not sending data element.

but not clear why constructing element manually anyway. rather defining charfield , ignoring it, should using modelchoicefield, automatically give select box accounts in.

class accountselectform(forms.form):     ...     phone_number = forms. modelchoicefield(queryset=account.objects.all()) 

...

{{ form.phone_number.errors }} {{ form.phone_number }} 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -