Hello community

I am trying to build a simple form which can be opened using a button. It 
should offer some fields which should be further process after validation. 
And there is exactly my issue. When I write some data into the fields and 
click the submit button. the validation error is NOT displayed below the 
screen like in this screeshot:

[image: 2020-02-27_21-52-30.png]


but is displayed in the log.

Can somebody give me a hint what I am missing here?
Thanks a lot!!
Sunil


This is the code I am using:

my HTML Code for presenting the form.

{% extends 'base.html' %}
{% load crispy_forms_tags %}
{%block content%}
<br>
<h1 style="color:black">Add System to Organization</h1>
<br>
<div class="col" style="color:black">
    <form method="post" action="{% url 'chr_add_system' %}" class="uniForm">
        {% csrf_token %}
        {{form|crispy}}
        <input type="submit" value="Submit"/>
    </form>
</div>
<br>
{%endblock content%}


the view:

def chr_add_system_view(request):
    if request.method == 'POST':
        form = AddChrSystemForm(request.POST)
        if form.is_valid():
            print('add_system-------->valid')
            # TODO: do something
            return redirect(chr_systems_view)
        else:
            print('form.errors ' + str(form.errors))
            form = AddChrSystemForm()
            context = {'form': form}
            return render(request=request, template_name='chr/add_system.html', 
context=context)


the form:

class AddSystemForm(ModelForm):

    def __init__(self, *args, **kwargs):
        super(AddSystemForm, self).__init__(*args, **kwargs)
        self.fields['profile_name'].widget.attrs['readonly'] = True

    class Meta:
        model = System
        fields = '__all__'

    def clean_system_id(self):
        print('validating oid of system..')

        system_id = self.cleaned_data['system_id']
        print('system_id: ' + system_id)

        if "2.16" not in system_id:
            print('oid of system id is invalid')

            raise forms.ValidationError(
                "Your submissionset source oid seems to be invalid. ==> it has 
to be a valid oid and must start with: 2.16")
        print('oid of system id is valid')
        return system_id


the button where the form is called:

<div class="col system_title">
    <font style="color:Black;"><b>SourceId</b></font>
    <form method="post" action="{% url 'add_system' %}" class="uniForm">
        {% csrf_token %}
        <button type='submit' name="add_system"
                class="btn btn-warning btn-sm float-right" 
value="{{item0}}">[WIP] Add System
        </button>
    </form>
</div>


my class

class System(models.Model):
    system_id = models.CharField(max_length=100)
    abbreviation = models.CharField(max_length=100, default="SRC-")
    software_name = models.CharField(max_length=100, default="Portal")
    vendor = models.CharField(max_length=100, default="vendor")
    profile_name = models.CharField(max_length=100, default="Source")





-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/28c122d0-72b9-4367-9f07-ce1939ad3b78%40googlegroups.com.

Reply via email to