Как валидировать поля в Django?

Я новичок в Django. Я был разработчиком .NET. Я создал форму для регистрации новых пользователей, но проблема в том, что мне нужны элементы управления для проверки полей. Я не смог найти никаких ресурсов или примеров. Помогите, пожалуйста?

Мой newuser.html выглядит следующим образом:

{% block content %}
<form method="POST">
{% csrf_token %}
    <table>
        <tr>
            <td>
                <lable>Name </lable>
            </td>
            <td>
                <input type="text" name="name">
            </td>
        </tr>
        <tr>
            <td>
                <lable>Username </lable>
            </td>
            <td>
                <input type="text" name="username">
            </td>
        </tr>
        <tr>
            <td>
                <lable>Password </lable>
            </td>
            <td>
                <input type="password" name="password">
            </td>
        </tr>  
        <tr>
            <td>
                <lable>Confirm password </lable>
            </td>
            <td>
                <input type="password" name="confirmPassword">
            </td>
        </tr>  
        <tr>
            <td>
                <lable>email </lable>
            </td>
            <td>
                <input type="email" name="email">
            </td>
        </tr>       
        <tr>
            <td>
                <input type="submit" name="save" value="Save" colspan=2>
            </td>
        </tr>    
</form>
{% endblock content %}

Django является серверным. Вы можете принимать любой старый мусор от клиента, потому что вы можете быть уверены, что какой-нибудь хакер где-нибудь опробует на вас "Таблицы маленького Бобби" и тому подобное. (ссылка на XKCD).

Таким образом, независимо от того, что вы делаете на стороне клиента, формы Django защищают вас. Если материал от клиента проходит form.is_valid(), продолжайте. Если нет, отобразите форму заново с ошибками. CBV FormView сделает все это за вас.

Что касается валидации на стороне клиента, которую вы хотите, Django не предоставляет ее. Если вы используете Bootstrap, вы получите определенное количество автоматически.

Вернуться на верх