- From: Jimmy Karl Roland Wärting via GitHub <sysbot+gh@w3.org>
- Date: Tue, 13 Jun 2017 12:08:50 +0000
- To: public-css-archive@w3.org
jimmywarting has just created a new issue for https://github.com/w3c/csswg-drafts: == [selectors] pseudo selector to match forms ValidityState == ## The Problem When I did put a pattern to one of my form elment, it yields a tooltip saying "Enter a correct pattern" The browser don't do a good job at displaying the correct pattern to use. So i need a way to inform them ```html <input type="text" name="username" minlength="2" maxlength="20" required pattern="^[a-zA-Z][a-zA-Z0-9-_\.]{1,20}$" /> ``` ## The solution I would want it to behave a little like angular´s ngMessage, see [demo](https://docs.angularjs.org/api/ngMessages/directive/ngMessages#example) Say you got custom errors like this: ```html <input type="text"> <div class="required">Username is required</div> <div class="minlength">Username is too short</div> <div class="maxlength">Username is too long</div> <div class="pattern">Use only letters and numbers</div> ``` Now to style the right error message green or red, show and hide. I would want to use the same properties that exist on the constraints object `input.validity` aka: ValidityState ```js { badInput, patternMismatch, rangeOverflow, rangeUnderflow stepMismatch, tooLong, tooShort, typeMismatch, valueMissing } ``` ```css input:valueMissing ~ .required {display: block} input:tooShort ~ .minlength {display: block} input:tooLong ~ .maxlength {display: block} input:patternMismatch ~ .pattern {display: block} ``` Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1525 using your GitHub account
Received on Tuesday, 13 June 2017 12:08:57 UTC