在评论中讨论后,我明白你想要什么。
首先,一个解释。有两个地方进行验证:在您的前端(您的网页)和您的后端(在保存发布值的 PHP 脚本中)。任何你真的不想保存的东西——例如未转义的 SQL 字符串、太长的字段等等——都必须在 PHP 中进行验证,因为绕过 Javascript 验证很简单。例如,没有什么可以阻止某人向您的服务器发送包含非法值的 POST,甚至无需访问您的网页。
即使您需要在后端执行验证,在前端执行相同的验证仍然是用户友好的,因此用户不必等待很长时间才能看到错误。这也减少了到您的服务器的流量。在一个大项目中你可能想做的事情是有某种系统来集中编写验证规则,然后使用这些规则动态生成 PHP 和 Javascript 验证。这样做的好处是您不会在两个地方重复您的业务规则,但在较小的项目中可能不值得麻烦。
前端的验证看起来像这样:您将一个事件处理程序绑定到一个或多个适当的事件(例如,您可以添加 onkeydown="validateUserName()" 以便验证反应更快一些),并适当地更新您的警告文本.
<form action="" method="post">
<ul class="ul-reg">
<li>
<p>Username: </p>
<input id="username" name="username-field" type="text" onblur="validateUserName()" />
<span id="UsernamehelpText"></span>
</li>
</ul>
</form>
<script type="text/javascript">
function validateUserName() {
var userNameElement = document.getElementById('username');
//Do your work: Get the value of the user name field, check
// the values against your validation rules...
var helpText = document.getElementById('UsernamehelpText');
if(isValid)
helpText.innerHTML = "";
else
helpText.innerHTML = "Invalid!";
}
</script>
在后端,当您处理表单时,您必须检查 PHP 中的相同规则,以防止非法值被恶意发布或由于 Javascript 中的错误而被发布。如果发现错误,您不保存,而是可以使用输入字段中提交的值和指示无效的消息重新呈现表单 - 这允许用户更改他们的输入而不会丢失他们的值提交。