0
0 комментариев

Есть такая форма:

class SpisokForm(forms.ModelForm):
    class Meta():
        model = shops_spisok
        fields = '__all__'
        widgets = {
            'obj_1': forms.TextInput(attrs={'placeholder': 'Товар', 'max_length': '35'}),
            'number_1': forms.NumberInput(attrs={'placeholder': 'Кол-во', 'max': '999999', 'min': '0'}),
            'price_1': forms.NumberInput(attrs={'placeholder': 'Примерная цена', 'max': '999999', 'min': '0'}),

Модель:

obj_1 = models.CharField(unique=False, max_length=35, blank=True, null=True, help_text="Максимальная кол-во символов не должно превышать 35", verbose_name="Товар1")
number_1 = models.IntegerField(default=0, help_text="Кол-во товара", verbose_name="Кол-во")
 price_1 = models.IntegerField(default=0, help_text="Примерная цена", verbose_name="Цена")

Форма в шаблоне:

<form method="post" action="">{% csrf_token %}
    <table>
        <tr>
            <th>№</th>
            <th>Наименование товара</th>
            <th>Количество товара</th>
            <th>Цена</th>
        </tr>
        <tr>                                                                                                            <!-- 1-10 -->
            <td>1.</td>
            <td>{{ form.obj_1 }}</td>
            <td>{{ form.number_1 }}</td>
            <td>{{ form.price_1 }}</td>
        </tr>

Проблема в том, что
1) В виджете формы placeholder работает для TextInput, а для NumberInput нет. Как прикрутить и к нему?
2) Как правильно в виджете сделать проверку/поставить условие для TextInput на длину текста? В моделе есть ограничение, но хочу чтобы проверяло на уровне ФронтЕнда.


Добавить комментарий