在我on Rails項目紅寶石,我有一組滑塊的形式是這樣的:呼叫軌功能的onChange
<%= range_field(:subproject, :ans1, in: 0..100, id: 'slider1', :class => 'range range--light', :'data-init' => 'auto', :step => 1, :value => $project_value_1.to_i) %>
滑塊的總價值應始終等於100 FO rthe形式可提交。否則,顯示錯誤消息。所有由該函數處理:
$sumOfProjectValues = $project_value_1.to_i + $project_value_2.to_i + $project_value_3.to_i + $project_value_4.to_i + $project_value_5.to_i
if $sumOfProjectValues == 100
message = 'Project can be saved'
btnStyle = 'confirmation'
hideDisabled = 'none'
else
message = 'Project quota must add up to 100% before saving'
btnStyle = 'alert'
hideEnabled = 'none'
end
我想每次調用這個表單驗證功能的價值變動(有點像在JS的方法的onChange)。 我該怎麼做?
你真的希望這Rails代碼內或內的JS(驗證語法類似於Ruby,但你在談論的onChange JS)發生的呢? – wiesion
@wiesion我更喜歡鐵軌。儘管如此,Ruby沒有onChange方法。這將是理想的,這就是我提到它的原因。 – JustusP
我認爲您需要仔細研究[ActiveRecord驗證](http://guides.rubyonrails.org/active_record_validations.html) - 您可以將您的100%檢查作爲驗證器來執行。如果它沒有通過,則該對象不能被保留,並且可以傳遞錯誤消息。 – wiesion