2013-01-11 55 views
1

我使用codeigniter。我用html5驗證編寫了簡單的代碼,但它不工作。它仍然去控制器..這是我的代碼。HTML5表單驗證在codeignator

<?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 ..但它仍然轉到控制器頁面。

+0

CodeIgniter將始終發佈到控制器,因爲您有一個操作。 – djthoms

+0

所以我應該怎麼做..如果我想驗證在視圖 – user1968893

+0

你需要一個前端驗證。 HTML 5驗證是好的,除非我不會依賴它,因爲並非所有瀏覽器都支持它。 [jQuery Tools](http://jquerytools.org/)是一個很好的前端驗證。 – djthoms

回答

1

CodeIgniter的own validation通常會伎倆。這是最安全的,因爲它會接收值,驗證它們並且然後處理它們。

由於諸如Firebug等的原因,通過瀏覽器進行驗證並不可靠。最後,我可以很容易地發佈我想要的任何值到你的頁面,如果驗證只包含HTML5等,你的系統將不知道它是什麼。

總是讓你的服務器驗證一切,但你也可以做一些事情在你的看法。例如,如果每次只需要發佈一個未被佔用的用戶名,就可以發現一個未被佔用的用戶名,因爲這個部分可以通過ajax來完成,該用戶可以檢查用戶名是否被採用,並在提交之前顯示。

如果您得到form_validation按預期工作,您可能不會看到太多需要更多方法來驗證您的字段。