【问题标题】:Html5 form validation in CodeIgniterCodeIgniter 中的 Html5 表单验证
【发布时间】:2013-01-11 04:57:25
【问题描述】:

我正在使用 codeigniter。我用 html5 验证编写了简单的代码。但它不起作用。它仍然进入控制器。这是我的代码。

<?php echo form_open('welcome/RigesterValue');?>
<h4> Rigesteration </h4>
<table border="2" align="center">
<tr><td><label>First name</td>
<td><input type="text" maxlength="20" id="First_name" name="First_name" required pattern="[A-Z ]+"></td></tr>
<tr><td><label>Last name</td>
<td><input type="text" maxlength="20" name="Last_name"></td></tr>
<tr><td><label>User name</td>
<td><input type="text" maxlength="20" name="User_name"></td></tr>
<tr><td><label>Password</td>
<td><input type="password" maxlength="20" name="Password"></td></tr>
<tr><td><label>Confirm Password</td>
<td><input type="password" maxlength="20" name="Confirm_Password"></td></tr>
<tr><td><label>Address</td>
<td><input type="text" maxlength="20" name="Address"></td></tr>
<tr><td><label>Cell number</td>
<td><input type="text" maxlength="20" name="Cell_number"></td></tr>
<tr><td><label>Email</td>
<td><input type="text" maxlength="20" name="Email"></td></tr>
<tr><td><Label>Status</Label></td>
</td></tr><br>
<tr><td align="center" colspan="2"><input type="Submit" value="Register"></td></tr>
</table>
<?php echo form_close();?

我只对第一个字段应用了 html5 验证..这是 First_name..但它仍然会转到控制器页面。

【问题讨论】:

  • CodeIgniter 将始终发布到控制器,因为您有一个操作。
  • 那么我应该怎么做..如果我想在视图中验证
  • 您需要前端验证。 HTML 5 验证很好,但我不会依赖它,因为并非所有浏览器都支持它。 jQuery Tools 是一个很好的前端验证。

标签: html codeigniter


【解决方案1】:

CodeIgniter 的own validation 经常可以解决问题。这是最安全的,因为它将接收值、验证它们并然后处理它们。

由于 Firebug 等原因,通过浏览器进行的验证并不可靠。最后,我可以轻松地将我想要的任何值发布到您的页面,如果验证仅涵盖 HTML5 等,您的系统将不知道是什么击中它。

始终让您的服务器验证所有内容,但您也可以让某些事情在您的视图中完成。例如,如果您每次都需要发布只是为了听到它已被占用,则查找未占用的用户名可能会很麻烦,因此可以通过 ajax 检查用户名是否被占用并在提交前显示。

如果您让 form_validation 按预期工作,您可能不会觉得需要更多方法来验证您的字段。

【讨论】:

    猜你喜欢
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-06
    • 2016-09-05
    • 2021-10-09
    相关资源
    最近更新 更多