Я бы хотел провести проверку до сохранения, определив, заполнил ли Пользователь конкретное поле, поле «Сумма платежа» ниже и выбран статус «Закрыто» перед отправкой формы. Если он делает одно без другого, то форма не должна сохранитьПроверка перед сохранением Rails
Редактировать страницу
<%= simple_form_for @invoice, :html => { :class => 'form-horizontal' } do |f| %>
<%= render "shared/error_messages", :target => @invoice %>
<%= f.association :customer, disabled: @invoice.persisted? %>
<%= f.input :due_date, as: :string, input_html: { class: "datepicker" }, disabled: @invoice.persisted? %>
<%= f.input :invoice_date, as: :string, input_html: { class: "datepicker" }, disabled: @invoice.persisted? %>
<%= f.input :payment_method, as: :select, :collection => [['Cash','Cash'],['Cheque','Cheque'],['In-House transfer','In-House transfer'],['Account Ledger','Account ledger']], :selected => ['Cash','Cash'] %>
<%= f.input :reference_no, :label => 'Payment Reference No', as: :string %>
<%= f.input :amount, as: :string %>
<%= f.input :payment_date, as: :string, input_html: {class: "datepicker"} %>
<%= f.input :status, as: :select, collection: Invoice::VALID_STATUS %>
VALID_STATUS = [ 'Проект', 'Open', 'Закрыто', 'Пустота'] в Invoice.rb
Я бы хотел, чтобы пользователь изменил статус на закрытый, он должен был ввести сумму в форму. Пользователь не должен иметь возможность изменить статус закрытого без ввода количества
Вы хотите сделать это на стороне сервера, после того как форма размещена, или на стороне клиента, прежде чем отправлять форму? (Действительно, правильный ответ - оба, но каков ваш вопрос?) –
Мне это нужно на стороне клиента – zurik
Является ли jQuery ок или он должен быть необработанным javascript? Вы контролируете библиотеки javascript/плагины, которые вы используете? –