היי,
אני עובד על כמה פורמים שלי. באחד מהם, אחרי שיגור ראשוני של הפורם (שבודק את היוזר מול סרבר חיצוני), אם היתה בעיה עם הבדיקה הפורם מו הסתם חוזר ומודיע הודעת שגיאה מתאימה. כל זה מנוהל על ידי = הגדרת הפורם, פונקצית ולידציה שלו (שבה מתבצעת הבדיקה החיצונית), ופונקצית ה- submit של הפורם.
עד כאן ההקדמה. הבעיה היא שאחרי ריצה אחת וחזרה עם שגיאה, בריצה הבאה הפורם חוזר עם שגיאת "validation error, contact admin if it returns...".
חקרתי את הנושדא לא מעט. יש איזו בעיה עם ה- token של הפורם אבל מצאתי מעט דוקומנטציה לגבי מה צריך לעשות עם $form['#token'] או אלמנט אחר כלשהו בהגדרת הפורם שבו אני לא מטפל טוב.
חשוב לציין שפונקצית הולידציה שלי מזריקה כמה משתנים לתוך ה- session של היוזר, אבל לא בטוח שזה משנה.
הבעיה לדעתי היא איפשהו באזור הבילדינג של הפורם, או ה- caching שלו או השד יודע איפה.
אשמח לכל עצה בנושא.
אה, ד"א, לכל מי שלא יודע למה צריך את ה- token הזה אפשר לקרוא כאן: http://en.wikipedia.org/wiki/Csrf
תודה!
יכול להיות שאתה מעלה את הפורם
יכול להיות שאתה מעלה את הפורם מה- CACHE עם טוקן הישן?
אמתי -- חברת גיזרה
התשובה פשוטה - לא, מכיוון
התשובה פשוטה - לא, מכיוון שהפורם מוגדר עם cache מכובה.
אבל, יש חדש ויש פתרון לבעיה, לפחות מעקף. יותר מאורח בערב אפרסם ממצאיי בבלוג פוסט ואלנקג' לכאן... .
בועז
אם הפיתרון הוא ב
אם הפיתרון הוא ב -
$form_state['rebuild'] = true
אני חושב שדווקא הייתי די בכיוון :)
אגב, צריך להשתמש בפרמטר הזה גם ב MULTISTEP FORM.
אמתי -- חברת גיזרה
או קיי, הנה המתכון
או קיי,
הנה המתכון שלי:
http://rymland.org/en/blogs/boaz/2_dec_08/drupal-fapi-tales-need-a-token
בועז