Auto merge of #10169 - jdm:formvalidation, r=jdm

Implement initial pieces of form validation.

Rebase of #10108.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10169)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-03-24 19:13:02 +05:30
commit f56062b069
14 changed files with 185 additions and 55 deletions

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<body>
<form>
Required: <input type="text" name="name" required><br>
Email : <input type="email" name="email"><br>
URL : <input type="url" name="email"><br>
Number(18-99): <input type="number" size="6" name="age" min="18" max="99"><br>
Pattern(MM/DD/YYYY): <input type="text" pattern="\d{1,2}/\d{1,2}/\d{4}"><br>
Length(10-20): <input minlength="10" maxlength="20"><br>
Length(10-20): <textarea required minlength="10" maxlength="20"></textarea><br>
Step(3.11)<input type="number" min="0" step="3.11"><br>
Required Select: <select required>
<option></option>
<option value="0">A</option>
<option value="1">B</option>
<option value="2">C</option>
</select><br>
Required Radio: <input type="radio" name="group1" value="1" required>1
<input type="radio" name="group1" value="2">2
<input type="radio" name="group1" value="3">3<br>
Required Checkbox: <input type="checkbox" name="group2" value="1" required>1
<input type="checkbox" name="group2" value="2">2
<input type="checkbox" name="group2" value="3">3<br>
Required File: <input type="file" required><br>
<input type="submit">
</form>
</body>
</html>

View file

@ -5346,39 +5346,6 @@
[AutocompleteErrorEvent interface: attribute reason]
expected: FAIL
[ValidityState interface: attribute valueMissing]
expected: FAIL
[ValidityState interface: attribute typeMismatch]
expected: FAIL
[ValidityState interface: attribute patternMismatch]
expected: FAIL
[ValidityState interface: attribute tooLong]
expected: FAIL
[ValidityState interface: attribute tooShort]
expected: FAIL
[ValidityState interface: attribute rangeUnderflow]
expected: FAIL
[ValidityState interface: attribute rangeOverflow]
expected: FAIL
[ValidityState interface: attribute stepMismatch]
expected: FAIL
[ValidityState interface: attribute badInput]
expected: FAIL
[ValidityState interface: attribute customError]
expected: FAIL
[ValidityState interface: attribute valid]
expected: FAIL
[ValidityState must be primary interface of document.createElement("input").validity]
expected: FAIL