--
Ticket URL: <https://code.djangoproject.com/ticket/17922>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* needs_better_patch: => 0
* needs_docs: => 1
* type: Uncategorized => New feature
* needs_tests: => 1
* stage: Unreviewed => Accepted
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:1>
* version: 1.3 => master
Comment:
I'm added path, docs and corrected tests for a path at this pull request
https://github.com/django/django/pull/305
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:2>
* cc: apollo13 (added)
Comment:
What's the rationale for setting this on the label on not on the actual
input field (or even both)?
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:3>
Comment (by hanson2010):
In most cases, the label of required fields should be in bolded style or
accompanied by an asterisk, while the actual input field left as usual.
Replying to [comment:3 apollo13]:
> What's the rationale for setting this on the label on not on the actual
input field (or even both)?
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:4>
* cc: d1fffuz0r@… (added)
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:5>
* needs_docs: 1 => 0
* needs_tests: 1 => 0
Comment:
Note that there is already a `required_css_class` settable attribute for
forms, documented here:
https://docs.djangoproject.com/en/dev/ref/forms/api/#styling-required-or-
erroneous-form-rows (see also #3512)
So when a form is output with `as_p`, `as_ul` or `as_tr`, the row itself
is already marked with the `required_css_class` value, hence the CSS to
style them is trivial. However, the problem remains when the field is
output with dict access (`{{ form.myfield.label_tag }}: {{ form.myfield
}}`). See for example the TODO comments in `auth/user/change_password.html
template`.
I will propose a new patch that only set the `required_css_class` in this
latter case.
The fact that `required_css_class` is not set by default on forms might be
the subject of another ticket...
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:6>
Comment (by claudep):
Replying to [comment:6 claudep]:
> The fact that `required_css_class` is not set by default on forms might
be the subject of another ticket...
This is tracked in #14322
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:7>
* keywords: => sprint2013
* owner: nobody => bpeschier
* status: new => assigned
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:8>
* needs_better_patch: 0 => 1
Comment:
Patch no longer applies cleanly.
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:9>
* owner: bpeschier => anubhav9042
Comment:
Please see this PR:
https://github.com/django/django/pull/2390
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:10>
Comment (by apollo13):
I think we should use the "required" attribute from HTML5 and don't set
any css class.
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:11>
Comment (by claudep):
Florian, would adding the `required` attribute on the widget help styling
the label (common use case) ? Of course, adding the HTML5 `required`
attribute is a very good idea, but I'm not sure it solves this issue.
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:12>
Comment (by loic84):
An example of styling a label using the `:required` pseudoselector:
http://html5doctor.com/css3-pseudo-classes-and-html5-forms/#required-and-
optional-elements
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:13>
Comment (by claudep):
Thanks Loïc. Unfortunately, these seems to work only when the label
follows the input, not the reverse :-(
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:14>
Comment (by loic84):
True, CSS can't match backwards, it'd be workable from the
`<label><input></label>` syntax, but that's not very practical.
One day we'll hopefully be able to pick the actual subject of a CSS
selector... (cf. http://dev.w3.org/csswg/selectors4/#subject)
Personally I'm a bit reluctant adding styling information from the Python
side, this things IMO belong to the template layer, but in this specific
case, `required_css_class` is optional so I guess it's not that bad.
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:15>
* needs_better_patch: 1 => 0
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:16>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"416a8580232075d569cf3c386a97067884c67a60"]:
{{{
#!CommitTicketReference repository=""
revision="416a8580232075d569cf3c386a97067884c67a60"
Fixed #17922 -- Added required_css_class to form label.
Thanks hanson2010 for the suggestion.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:17>
Comment (by timo):
I created #22329 as a follow-up to this ticket to address the TODOs in the
admin templates that Claude mentioned in comment 6.
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:18>
Comment (by Tim Graham <timograham@…>):
In [changeset:"ed4c2e1c0d9e43c09767b02fd8b4bd74a5dfe512"]:
{{{
#!CommitTicketReference repository=""
revision="ed4c2e1c0d9e43c09767b02fd8b4bd74a5dfe512"
Fixed #22329 -- Used label_tag() in some admin auth templates.
refs #17922.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/17922#comment:19>