[development] How to validate a $node?
Robrecht Jacques
robrechtj+drupal at gmail.com
Wed Jun 7 12:43:07 UTC 2006
On 6/7/06, Jim Riggs <drupal-lists at jimandlissa.com> wrote:
>
> On 7 Jun, 2006, at 3:24, Robrecht Jacques wrote:
> No, I don't set the required taxonomy, but it will be set if
> required. The user has to set it. They are presented with a
> complete node/add form, including taxonomy selection. It's just that
> in my case they can import many items via the body textarea.
...
Ah, ok. Only read through the code quickly. So the node/add form already
does this validation for you and you don't need to do that validation again.
Then indeed a simple "node_validate()" will work.
But in my case there is no node/add form that the user submitted but still i
want this form validation to be done somehow.
> You also bail out creating quotes from the first error you
> > encounter while I would like to import the next rows too.
>
> Yeah. That was just a design decision, though. I could have easily
> continued the import.
How?
You check form_get_errors(). If this returns something, you know the
node_valiate() has failed. But how do you clear out the errors you've
already got before the next node_validate() you do in the foreach loop? The
errors stay inside a static array in form_set_error() and can not be cleared
at all. So the import you try after one with errors will also have some
form_get_errors()... in fact, the same ones as the first row with errors.
Your code works, but unfortunately I can't use it as I need to do the "user
presses submit on the node/add form" programmatically too.
Thx,
Robrecht
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20060607/6756c2bd/attachment.htm
More information about the development
mailing list