jrief / django-angular

Let AngularJS play well with Django
http://django-angular.awesto.com/
MIT License
1.23k stars 293 forks source link

Override Minimum Length Error Message CharField Forms #345

Closed natanbarbosa15 closed 4 years ago

natanbarbosa15 commented 4 years ago

I have implemented django-angular combined form validation. When user type in CharField input in the Form, if the text is minimum than minimum length required, the user get message "Ensure this value has at least N characters".

Can i change this error message? I tried in forms.py

# Forms.py
name = fields.CharField(
        label='Name',
        max_length=50,
        min_length=2,
        required=True,
        widget=widgets.TextInput,
        help_text='Type your name',
        error_messages={
            'min_length': 'The name length is too short.',
        }
    )

HTML:

<form name="{{ form.form_name }}" id="contact" djng-endpoint="." ng-app="register">
                    {% csrf_token %}
                      <div class="row">
                        {% for field in form %}
                        <div class="col-md-6">
                          <fieldset>
                            {{ field.label_tag }} 
                            {{ field }}
                            {{ field.errors }}
                            {% if field.help_text %}
                            <p class="help">{{ field.help_text|safe }}</p>
                            {% endif %}
                          </fieldset>
                        </div>
                        {% endfor %}
                        <div class="col-md-12">
                          {{ form.non_field_errors }}
                          <button ng-click="do(spinner()).then(create({delay: true})).then(showOK()).then(delay(500)).then(redirectTo()).catch(scrollToRejected()).then(delay(1500)).finally(restore())" ng-disabled="form.$invalid" id="form-submit" class="button" type="button">Register<i class="fa"></i></button>
                        </div>
                      </div>
                    </form>

AngularJS:

var register= angular.module('register', ['djng.forms']);

cadastro.config(['$httpProvider', function($httpProvider) {
  $httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
  $httpProvider.defaults.xsrfCookieName = 'csrftoken';
  $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
}]);

But the error message is not overriding the default error message in AngularJS client-side validation. Only showing "Ensure this value has at least N characters".