HTML5必填项信息验证

在窗体上提交输入的验证需要花费大量的时间来构建Web表单。当涉及到填写Web表单上的信息时,即使是最熟悉Web的用户也可以并且都会犯错。当用户点击页面上的提交按钮时,可能会导致不完整或不准确的数据被提交上去。

为了避免输入出错,开发者需要在加工信息前先进行验证。验证是在接受输入信息时最好的做法。把数据截止在门外越早越好。
 
       验证在用户提交表单时,通过一个服务器端执行来完成的。在这种类型的验证里,用户提供的数据先被提交给服务器,服务器处理之后如果判定输入数据不正确或不完整,就会抛出一个相应的错误信息。
 
       随着JavaScript使用的越来越多,浏览器已经对通过专门的验证库对客户端验证提供支持了。
 
       HTML5背后的智囊团们意识到了Web开发者需要对表单信息验证提供支持,然后就内置了对验证的支持,并引进了在客户端验证的支持,以将输入错误消灭于萌芽状态。
 
       通过HTML5表单里的客户端验证,用户不需要等所有的输入都完成并提交信息给服务器后,才能分辨出哪些是出错信息。实际上,标记元素能指出那些信息不是必填的,这个逻辑在提交按钮发送数据给远程服务器之前就已经开始执行了。
 
       让我们来看几个支持客户端验证的属性吧。

required’
       required属性能被指定用于任何输入标记元素来注释需要这些的地方。
 
       一个简单的声明如下所示:

<!DOCTYPE html><br>
<html><br>
<head><br>
<style><br>
textarea:required:invalid, input:required:invalid {<br>
background-color: lightyellow;<br>
}<br>
</style><br>
</head><br>
<body><br>
<header><br>
<h1>Validation demo</h1><br>
<p>Demo showing HTML5 validation</p><br>
</header><br>
<footer><br>
<h1></h1><br>
<p>HTML Goodies</p><br>
</footer><br>
<form id="myform" action="#"><br>
<input id="name" required><br><br>
<input id="phone"><br><br>
<input id="zip" required><br><br>
<input type="submit"><br>
</form><br>
</body><br>
</html>?

 当上面的HTML在现代浏览器里被提出来时,你可以看到文本框有一个不同的阴影(这是我们为请求的元素指定的风格)。当用户跳过必填字段(通过点击它,然后并没有输入就到下一步),输入框会变成周围围绕红色边框的效果样式。

 

 

通过使用客户端验证必填字段,这样的造型有助于与用户沟通。
 
       当表单被提交时(用户点击提交按钮),HTML5验证就开始执行了。但这个发生时,浏览器开始通过必填输入的列表来提示是否缺少要求的输入信息。
 
       有时候并没有必要去验证,在这种情况下,我们可以设置窗体上的“movalidate”属性。
 
       例如,下面的代码就没有让客户端验证规则启动:

<!DOCTYPE html><br>
<html><br>
<head><br>
<style><br>
textarea:required:invalid, input:required:invalid {<br>
background-color: lightyellow;<br>
}<br>
</style><br>
</head><br>
<body><br>
<header><br>
<h1>Validation demo</h1><br>
<p>Demo showing HTML5 validation</p><br>
</header><br>
<footer><br>
<h1></h1><br>
<p>HTML Goodies</p><br>
</footer><br>
<form id="myform" action="#" novalidate><br>
<input id="name" required><br><br>
<input id="phone"><br><br>
<input id="zip" required><br><br>
<input type="submit"><br>
</form><br>
</body><br>
</html>?

如果你只想在某个按钮被按下的时候才跳过验证,你可以在提交输入类型上指定“formnovalidate”属性:

<!DOCTYPE html><br>
<html><br>
<head><br>
<style><br>
textarea:required:invalid, input:required:invalid {<br>
background-color: lightyellow;<br>
}<br>
</style><br>
</head><br>
<body><br>
<header><br>
<h1>Validation demo</h1><br>
<p>Demo showing HTML5 validation</p><br>
</header><br>
<footer><br>
<h1></h1><br>
<p>HTML Goodies</p><br>
</footer><br>
<form id="myform" action="#" ><br>
<input id="name" required><br><br>
<input id="phone"><br><br>
<input id="zip" required><br><br>
<input id="button1" type="submit" ><br>
<input id="button2" type="submit" formnovalidate><br>
</form><br>
</body><br>
</html>?
当我们点击第一个按钮时,我们看到验证规则起作用了,但当我们点击第二个按钮时,验证规则就没有了。

本文中,我们学到了HTML5验证是怎么工作的,希望你会发现这点是有用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值