показать сообщение об ошибке в диалоге jQuery-UI - PullRequest
0 голосов
/ 27 декабря 2011

Я занимаюсь разработкой приложения Rails . Мой простой код показан ниже:

Модель :

class Car < ActiveRecord::BaseWithoutTable
   validates_presence_of :brand
end

Контроллер :

class CarsController < ApplicationController
   def check
      @user_car = Car.new(params[:car]);
      if(@user_car.valid?)
   end
end

Вид :

<div id="car_check">
<% form_for :car, Car.new(), :url => "car/check" do |f| %>
  <% if flash[:error] %>
      <h2><%= flash[:error] %></h2>
  <%end%>
  ...
<%= f.submit "send" %>
</div>

Приведенная выше форма div будет открыта в jQuery-ui dialog, например:

$("#car_check").dialog({
    bgiframe: true,
    autoOpen: false,
    width: 500,
    modal: true
  });

Когда пользователь отправляет форму car модели с недействительными данными, я хотел бы показать сообщение об ошибке на jQuery-ui dialog однако dialog закрывается при нажатии кнопки «submit», в результате чего пользователь не видит сообщение об ошибке . Как от этого избавиться?

1 Ответ

0 голосов
/ 13 января 2012

Функция javascript, которая вызывается, когда пользователь нажимает кнопку отправки, должна возвращать логическое ложное значение при возникновении ошибки, в противном случае форма отправляется после возврата из функции.

<script type="text/javascript">
function errorCheck()
{
  if (document.getElementById('mystring').value == 'error'
  {
     /* The user typed in "error" */
     return false;
  }
  else
  {
     /* For anything else */
     return false;
  }
}
</script>
<form>
<input type="text" name="mystring" id="mystring">
<input type="submit" value="Submit" onsubmit="errorCheck()">
</form>

Этот пост может помочь вам с кодом Ruby. Я не программист на Ruby, так что это то, что я нашел, немного покопавшись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...