+1

> but if the Ajax request
> fails (which I assume happened in your case), I don't think any feedback is
> displayed to the page. Perhaps we should correct that -- first check the
> response of the Ajax request, and only remove the row from the grid if it
> was successful, otherwise flash an error message.

In fact, I go one step further.  I have the callback function in the
controller rebuild the entire list table and update it via returned
javascript.

Maybe not appropriate for all situations, as these list tables usually
contain < 10 items and are just as likely to have items added as
deleted.

On Feb 8, 9:14 am, Anthony <abasta...@gmail.com> wrote:
> On Wednesday, February 8, 2012 2:16:21 AM UTC-5, Mark Kirkwood wrote:
>
> >  Sorry, I was not being all that clear. What I meant to say was:
>
> > When I try to delete such a record, instead of the form telling me that
> > the delete was prevented it appears to have succeeded. However a refresh of
> > the form shows the record survived (and obviously the database log tells us
> > why)!
>
> Forms don't know about database constraints -- they will only return and
> display friendly errors if a validator or onvalidation fails (that's why,
> for example, if you have notnull=True, you still need an IS_NOT_EMPTY()
> validator for the form to check for an empty field before submission). In
> your case, were you doing the delete from an edit form or from the grid
> itself (via the delete button)? If the latter, what happens is that the row
> is immediately removed from the grid via Javascript, and then an Ajax
> request is sent to delete the record from the db -- but if the Ajax request
> fails (which I assume happened in your case), I don't think any feedback is
> displayed to the page. Perhaps we should correct that -- first check the
> response of the Ajax request, and only remove the row from the grid if it
> was successful, otherwise flash an error message.
>
> Anthony

Reply via email to