我如何使某些形式的验证,将突出显示有无效输入或空的字段?验证与错误突出显示
回答
你必须为此使用ajax。或者,您可以验证它何时提交,使用JavaScript。这里是an intro to ajax。
您需要使用jquery在验证后突出显示无效字段。
下面是一些 '内联' 验证导游的名单:
http://speckyboy.com/2009/12/17/10-useful-jquery-form-validation-techniques-and-tutorials-2/
而这一次很简单:
http://yensdesign.com/2009/01/how-validate-forms-both-sides-using-php-jquery/
HTML5模式,可能有一个javascript回退(我收集一些浏览器已经支持:invalid
伪类,你可以添加一个真正的类,以便能够使用JavaScript或生成表单时设置无效状态)。
或者您可以使用旧学校验证。 在服务器端,检查字段并将错误1添加到数组中。 然后你重建html页面,并验证每个字段:如果它在数组中,则添加一个类“错误”。 没有ajax,没有javascript。
的基本思路是:
- 如果表单已提交,请检查数据
- 是否确定,然后将这些数据
- 否则,重新显示形式
注意:第一,你做这一切的服务器端:
- 的用户提交表单,
- 的数据被发送到服务器
- 所述服务器分析该数据
- 和重新显示的形式,如果必要的话
下面是一个快速的一部分代码演示了基本思路:
<?php
// By default, no error
$errors = array(
'field1' => false,
);
// And all field have empty values
$values = array(
'field1' => isset($_GET['field1']) ? $_GET['field1'] : "",
);
if (isset($_GET['submit'])) {
// The form has been submitted
// => Check if all data is here
if (!isset($_GET['field1']) || empty($_GET['field1'])) {
$errors['field1'] = true;
}
}
// If there is no error on any field, then :
// - save the data
// - redirect to a page that says "data saved"
// Else, continue, and re-display the form
?>
<style type="text/css">
.error {
border: 1px solid red;
}
</style>
<form action="temp.php" method="get">
<input type="text" name="field1" <?php if ($errors['field1'] == true) {echo 'class="error"';}?> value="<?php echo htmlspecialchars($values['field1'], ENT_COMPAT, 'UTF-8'); ?>" />
<input type="submit" name="submit" value="Go !" />
</form>
有两点要注意:
- 如果你的表格是为了创建/修改数据,你会使用
POST
代替GET
(但GET
是更容易测试) - 当然,你需要比这多一点的HTML:我只发布了一个骷髅;-)
- 而且您还需要更多的PHP代码,以保存数据,重定向和所有内容。
当使用这种解决方案,您可以用JavaScript代码的提升它,做检查的第一层,避免在错误的情况下往返到服务器。
但你仍然会保持验证服务器上:客户(JavaScript)的的验证是这里让你的网站对用户更友好,但JS是不是总是启用,形式可以是伪造 - 所以你总是需要验证服务器上的数据!
您需要使用javascritpt。例如,您有一个用于输入名称的文本框。
<form name="myform" action="abc.php" method="post" onsubmit="validate();"> <input type="text" name="txt1"><div id = "givepost" style="display:none" align="center">*</div> <input type="submit" name="submit"> </form> <script type="text/javascript"> function validate() { if(document.myform.txt1.value='') { document.myform.txt1.focus(); document.getElementById("givepost").style.display="block"; return false; } }
它会显示*如果文本框是空的。你可以改变的方式来显示错误
这也可以帮助你:http://flowplayer.org/tools/demos/validator/index.html 或者,如果你想这样做在PHP中:(简单)
<?php
if($_GET["name"] == "name"){
$returnStyle1 = "background-color: green;";
}else{
$returnStyle1 = "background-color: red;";
}
if($_GET["password"] == "123"){
$returnStyle2 = "background-color: green;";
}else{
$returnStyle2 = "background-color: red;";
}
?>
<form method='get' action='<?php echo $_SERVER["SCRIPT_NAME"]; ?>'>
<input type='text' name='name' style='<?php echo $returnStyle1; ?>' value='Username (name)' />
<input type='password' name='password' style='<?php echo $returnStyle2; ?>' value='password (123)' />
<input type='submit' value='validate' />
</form>
尝试输入“姓名” &“123” - >验证
- 1. 用于错误验证的CSS表单突出显示
- 2. jquery验证插件突出显示错误
- 3. cakephp显示验证错误与jquery
- 4. 在验证中突出显示行
- 5. Laravel验证错误显示
- 6. Ajax.BeginForm - 显示验证错误
- 7. Wordpress验证错误显示
- 8. jQuery验证 - 隐藏显示验证错误消息/显示自定义错误
- 9. 验证错误与验证错误
- 10. 如何使用Trinidad(JSF)突出显示验证错误的输入字段?
- 11. 当编辑验证失败时,JqGrid不会突出显示错误
- 12. 在jqgrid中验证失败时突出显示错误单元格或输入
- 13. Netbeans 6.9 for PHP。错误突出显示
- 14. PyCharm错误地突出显示HTML
- 15. RecycleView突出显示错误行(Android)
- 16. 突出显示错误发生时使用jQuery验证插件验证的jquery选项卡
- 17. 无法显示Codeigniter验证错误
- 18. 显示验证错误使用@ html.validationmessagefor
- 19. Laravel 5.2显示验证错误
- 20. Iframe在验证时显示错误?
- 21. 在crud api中显示验证错误
- 22. JSP不显示验证错误
- 23. 验证UITextField输入并显示错误
- 24. 在spring3中显示验证错误MVC
- 25. Struts2 - 显示验证错误页
- 26. 验证错误始终显示
- 27. 验证但不显示错误消息
- 28. Codeigniter验证错误未显示
- 29. Laravel spark can not显示验证错误
- 30. jQuery验证不显示错误信息