原文链接:http://www.javaarch.net/jiagoushi/693.htm
Html5 表单验证和style css验证支持
看看下面的这个示例:
<h2>Login</h2>
<form action="" autocomplete="off">
<label for="username">Username</label>
<input id="username" name="username" pattern="[a-zA-Z0-9]{5,}" title="Minimum 5 letters or numbers." required>
<!-- Credit: http://stackoverflow.com/questions/5458076/regex-in-new-pattern-attr-for-html5-forms -->
<label for="password">Password</label>
<input id="password" name="password" type="password" pattern=".{5,}" title="Minmimum 5 letters or numbers." required>
<p/>
<input type="submit" class="btn" value="Login">
</form>
<h2>Register</h2>
<form action="" autocomplete="off">
<label for="username2">Username</label>
<input id="username2" name="username" pattern="[a-zA-Z0-9]{5,}" title="Minmimum 5 letters or numbers." required>
<label for="password2">Password</label>
<input id="password2" name="password" type="password" pattern=".{5,}" title="Minmimum 5 letters or numbers." required>
<label for="email">Email</label>
<input id="email" name="email" type="email" required>
<label for="url">Homepage</label>
<input id="url" name="url" type="url">
<p/>
<input type="submit" class="btn" value="Register">
</form>
验证很强大,如果不支持,我们可以使用jquery的验证模块,而且server端也会做验证,所以浏览器不支持对于页面没任何影响。
在css中,有几个伪类可以支持对表单验证不通过情况下的样式进行设置:
valid
invalid
required
optional
in-range
out-of-range
read-only
read-write
html5 表单验证不通过的css设置示例如下:
<style>
input:required {
border-style:solid;
border-width:thick;
}
input:valid {
background-color: #adff2f;
}
input:invalid {
background-color: #f08080;
}
</style>