-1
A
回答
2
驗證中構建的Rails不在前端(客戶端)上運行,它在服務器上完成。
如果你想做JavaScript驗證,你需要找到一個gem或使用jQuery庫,或者自己寫驗證代碼。
正常方式表單驗證完成後用香草Rails的時候就是這個樣子
- 無效表單內容提交到控制器
- 控制器使用的內容,使ActiveRecord的對象
- 的控制器嘗試將對象保存到數據庫,啓動一系列以檢查對象的有效性開始的步驟
- 模型的驗證程序認爲它無效,並用錯誤消息「裝飾」對象,指定以何種方式這是無效的。
- 控制器發現保存失敗並呈現原始窗體的視圖,併爲該視圖提供該對象,現在提供了錯誤消息。
- 呈現窗體的視圖會檢查對象是否顯示錯誤消息,如果它看到任何有用的信息,則顯示給用戶。它還會使用用戶先前輸入的數據填充字段,以便從對象中獲取數據。
3
在導軌形式上渲染錯誤時沒有涉及JavaScript。顯示錯誤的方式由名爲field_error_proc
的函數確定,具體爲ActionView::Base.field_error_proc
。您可以查看Ryan Bates關於它的railcast
如果您通過AJAX提交表單,則可以附加ajax:success
事件的偵聽器。否則,只有(醜陋的),這樣我可以想像是做這樣的事情:
$(document).on('app:form-has-errors', function() { //do what you have to do}
和視圖
<script>$(document).trigger('app:form-has-errors');</script>
如果在表單中的對象有錯誤(@your_object.errors.any?
)。
我不認爲這是可能的另一種方式,因爲錯誤提交和重新呈現是完整的http請求,將清除您可能綁定到文檔的任何事件。
相關問題
- 1. 導軌 - 驗證
- 2. PHP表單驗證與外部處理
- 3. PHP表單處理和驗證腳本
- 4. 處理登錄表單驗證
- 5. 使用PHP處理Ajax表單驗證
- 6. ajaxSubmit表單驗證彈出「處理」div
- 7. 處理表單驗證錯誤5.4 + vueJS
- 8. 如何處理h:inputText驗證?
- 9. 如何在導軌中驗證日期?
- 10. 處理Scalaz6驗證列表
- 11. 如何在Express(NodeJS)中驗證和處理表單
- 12. 如何使用CodeIgniter處理表單驗證和批量編輯?
- 13. 如何在MVC表單中過濾下拉時處理驗證?
- 14. 如何在React-redux中處理表單輸入和驗證?
- 15. 如何在IE7和IE8中處理表單身份驗證
- 16. 如何在Django中進行表單驗證/處理?
- 17. 導軌和枚舉驗證
- 18. 導軌密碼驗證
- 19. 導軌:驗證2列
- 20. FBML + jquery驗證+導軌
- 21. 導軌:驗證與參數
- 22. 導軌模型驗證器
- 23. PHPBB身份驗證+導軌
- 24. 引導4表單驗證
- 25. 表單驗證角/引導
- 26. 嵌套表單驗證軌3.2
- 27. 在軌道上驗證搜索表單
- 28. 驗證在導軌2中編輯表單時發生錯誤?
- 29. 多頁嚮導導軌模型驗證
- 30. 如何處理來自facebook圖表api中的數據導軌