2012-04-06 120 views

回答

1

是的,您可以使用自定義HTML爲Crud窗體,但默認情況下,Crud會在表單中插入隱藏的_formname_formkey字段(後者用於防止CSRF攻擊)。因爲Crud會期望這些字段被提交到表單中,所以必須通過Crud創建表單,並且必須將表單對象傳遞給視圖,以便可以包含這些字段。有關爲表單創建自定義HTML的詳細信息,請參閱here

請注意,爲了更容易通過Ajax提交表單,您可以考慮通過LOAD()(請參閱here)將表單放入Ajax組件中。

+0

但我不想用自定義的HTML來完成它**我想使用CRUD表單進行客戶端驗證**。甚至SQLFORM也可以。沒有節省時間的客戶端驗證程序可用? – rahulserver 2012-04-07 10:00:33

+0

對不起,你的問題不清楚。您說過要使用Ajax(涉及服務器通信)進行驗證,而不是僅在客戶端(不涉及Ajax)上進行驗證。您指出的書中的示例也不會進行客戶端驗證。簡短的答案是否定的,web2py驗證器不會在客戶端運行 - 所有驗證器僅在服務器端。它唯一的客戶端驗證是針對整數,雙精度和十進制字段。無論如何,出於安全原因,僅客戶端驗證不一定是個好主意 - 惡意用戶仍然可以發佈未經驗證的數據。 – Anthony 2012-04-07 16:14:48

+0

感謝您的回覆。在Asp.net中,我們確實有客戶端驗證器,如自定義驗證器,正則表達式驗證器等。現在web2py沒有它們,我希望它們可以合併到未來版本的web2py中。順便說一句,我不是僅僅意味着客戶端驗證器。 – rahulserver 2012-04-08 05:25:16