我正在使用Rails 3應用程序,並使用client_side_validations(自動從ActiveRecord模型驗證生成的JavaScript驗證)顯示在JQuery UI對話框中的表單中,我想知道是否有一些來自client_side_validations的javascript函數,我可以在用戶按下對話框提交(OK)按鈕之後調用,以驗證表單中的所有驗證是否在通過javascript提交表單之前通過。在client_side_validations中是否有這樣的事情?我在wiki中注意到一個名爲Client Side Validations callbacks的部分,看起來非常有趣,但是我沒有在gem中看到相應的javascript文件。也許正在進行中的作品或某些不推薦的作品?手動訪問client_side_validations驗證功能
基本上我有一個創建一個包含表單
$(function() {
$("#subscription_dialog").dialog({
autoOpen: false,
show: "blind",
hide: "blind",
width: 'auto',
height: 'auto',
modal: true,
title: "Become an Empower United member",
buttons: {
"OK": function() {
if ($('form[data-validate]').validate()) {
$('#new_subscription').submit();
$(this).dialog("close");
}
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
$("#subscribe").click(function() {
$("#subscription_dialog").dialog("open");
return false;
});
});
我需要的表格前,一些驗證檢查提交位的對話框這個JavaScript片段,否則會對話即使在它的無效數據被關閉。我可以用jQuery的驗證插件編寫一個表單,但我不想像這樣從模型層複製驗證 - 我寧願讓它們始終保持同步。
預先感謝您可能決定渲染的任何幫助!
這是真正有用的,謝謝! – hoitomt
我想澄清一件事。看起來,將兩種方法結合可以產生最佳結果。當我嘗試使用第二種方法來查看是否需要將信息發送到服務器時,它總是返回誤報。正如您在Jimbo之前所說的那樣,我認爲這是因爲客戶端驗證會跟蹤已更改的元素。因此觸發事件來強制驗證似乎也會在正確使用isValid後給出正確的結果。 –