Change ValidationGroup in client side (Java Script)

יום ראשון, ינואר 17, 2010

  בתפוז עלתה שאלה, כיצד ניתן לשנות את ה - ValidationGroup בצד הלקוח. (אני אוהב התעסקות עם ולידציות).   אז ככה. (ניתן להוריד את הדוגמא, מכאן)   נניח שיש לנו את ה - HTML הבא (שני RadioButton, ארבעה תיבות טקסט, ארבעה RequiredFieldValidator, (עם שני ValidationGroup) בנוסף ValidationSummary ולחצן)   <input type="radio" name="valid" id="Radio1" value="group1" checked="checked" onclick="ChnageGropu(this)" />1 <input type="radio" name="valid" id="Radio2" value="group2" onclick="ChnageGropu(this)" />2 <br />   <asp:TextBox ID="txt1" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="rfv1" ValidationGroup="group1" runat="server"     ControlToValidate="txt1" ErrorMessage="txt1" Text="*"></asp:RequiredFieldValidator> <asp:TextBox ID="txt2" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="rfv2" ValidationGroup="group1" runat="server"     ControlToValidate="txt2" ErrorMessage="txt2" Text="*"></asp:RequiredFieldValidator> <br /> <br />   <asp:TextBox ID="txt3" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="rfv3" ValidationGroup="group2" runat="server"     ControlToValidate="txt3" ErrorMessage="txt3" Text="*"></asp:RequiredFieldValidator> <asp:TextBox ID="txt4" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="rfv4" ValidationGroup="group2" runat="server"     ControlToValidate="txt4" ErrorMessage="txt4" Text="*"></asp:RequiredFieldValidator> <asp:ValidationSummary ID="vs" runat="server" ShowMessageBox="true" ShowSummary="false"     ValidationGroup="group1" /> <br /> <br...
אין תגובות

למה חשוב לבדוק IsValid בצד השרת כשמשתמשים עם validators (איך אפשר לעקוף (לפרוץ) את הבדיקות בצד הלקוח)

יום שישי, ינואר 1, 2010

   (זהו פוסט ה - 200 שלי, ואני חושב שזהו הפוסט הראשון בבלוגייה של השנה הלועזית החדשה)   שיש לכם דף עם תיבת טקסט שמוצמד אליו RequiredFieldValidator ולחצן. בזמן לחיצה כותבים על הדף את השעה הנוכחית.   הקוד נראה כך:   <asp:TextBox runat="server" ID="txt1" /> <asp:RequiredFieldValidator ErrorMessage="*" ControlToValidate="txt1" runat="server" />   <asp:Button Text="text" runat="server" ID="btn" OnClick="btn_click" />  צד השרת:     protected void btn_click(object sender, EventArgs e) {Response.Write(DateTime.Now.ToLongTimeString()); }   כשנריץ נראה את הדף הבא       אם ננסה ללחוץ על הלחצן ללא ערך בתיבת הטקסט לא תתבצע ריצה לשרת ואחנו נראה כוככבית ליד תיבת הטקסט       כעת נראה איך כל האקר מתחיל עוקף את הבדיקה.   בהנחה שיש לכם IE8 מותקן לכם IE Developer Toolar במידה ויש לכם IE7 תוכלו להוריד את...

Show Popup before post back with validators

יום שלישי, אוקטובר 20, 2009

  בפוסט הזה הדגמתי איך ניתן להציג חלון מודלי לפני ריצה לשרת ורק במידה וחזר true מהחלון המודלי מתבצעת הריצה לשרת.   בדוגמא ההיא יש, FileUpload, CheckBoxList ולחצן.   בזמן לחיצה על Submit קופץ חלון מודלי שמבקש להכניס עבור כל שם שנבחר ב - CheckBixList את ה - ID שלו. לשאר הפרטים והדוגמאות עיינו בפוסט הקודם.   הבטחתי שאני אדגים גם מצב שבו יש ולידטור על הדף, לדוגמא: אנחנו רוצים לבדוק האם המשתמש העלה קובץ -     למעשה ב - html תהיה לנו תוספת פשוטה של:   <asp:RequiredFieldValidator ID="rfv" ValidationGroup="group1" runat="server" ControlToValidate="fu" Text="*"></asp:RequiredFieldValidator>   כש: fu הוא ה - ID של ה - FileUpload וכמובן ללחצן יש גם ValidationGroup=group1.     אמנם הקוד מהפוסט הקודם יעבוד...
תגובה אחת

CompareValidator for DateTime

יום שבת, אוקטובר 10, 2009

  אפשר להוריד את דוגמת הקוד מכאן:   נניח שיש לכם שני תיבות טקסט שהערכים שלהם הם תאריכים ואתם רוצים לוודא שאחד גדול מהשני (לדוגמא: From ו - To) - הערכים לתיבות הטקסט יכולים להגיע מכל מקור - או מהאובייקט Calendar של asp או מהאובייקט Calendar של ajax או מהאובייקט של טלריק - זה לא ממש משנה - הנקודה היא שאנחנו רוצים לבדוק שני תאריכים.   במחשבה ראשונה נשתמש ב - CompareValidator המובנה וזה יראה כך:   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="dates" /> <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator"     ControlToCompare="TextBox2" ControlToValidate="TextBox1" Operator="GreaterThan"     Type="Date" ValidationGroup="dates"></asp:CompareValidator>     ל - CompareValidator יש מאפיין בשם Type שאחד מהערכים שאפשר להכניס הוא Date...
אין תגובות

הגדרת Validator עבור כל Item ב – ListView

יום חמישי, ספטמבר 17, 2009

  בתפוז עלתה שאלה, כיצד ניתן לייצר validator עבור כל פריט ב - ListView בנפרד - כלומר נניח שיש לנו ListView שמציג תיבת טקסט ולחצן בכל שורה, במידה ונוסיף Validator לא נוכל להגיע לשרת במידה ואחד מתיבות הטקסט יהיה ריק.   כדי לפתור את זה אנחנו חייבים לתת לכל Validator ולחצן ValidatorGropu שונה מהאחרים, וזה יראה ככה.   <asp:ListView ID="lv" runat="server">     <ItemTemplate>         <tr style="">             <td>                 <asp:TextBox ID="txt" runat="server" Text='<%# Eval("City") %>' />                 <asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="txt"                     ValidationGroup='<%#Eval("City") %>' ErrorMessage="*"></asp:RequiredFieldValidator>             </td>             <td>                 <asp:Button ID="btn" ValidationGroup='<%#Eval("City")...
תגיות: , ,
אין תגובות

Creating Custom ValidaorSummary

יום רביעי, אוגוסט 19, 2009

אפשר להוריד מכאן את דוגמת הקוד.   כתבתי כמה פעמים על asp validators, כאן אני רוצה לכתוב על יצירה של Validator Summary מותאם אישית, אבל קודם לכן נראה מה זה Validator Summary בכלל.   אז ככה, אנחנו יכולים לשים על הדף שלנו הרבה Validaors ולכל אחד מהם לתת ערך כלשהו למאפיין Text, אבל בנוסף על כך אנחנו יכולים לתת ערך למאפיין ErrorMessage, שזה אומר במידה ויהיה ValidatorSummary על הדף הוא יציג את כל ה - ErrorMessage של כל ה - Validators. לדוגמא.   יש לנו שני תיבות טקסט, שני RequiredFieldValidator לחצן אחד. ן - ValidaroSummary אחד.   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:RequiredFieldValidator     ID="RequiredFieldValidator1"     runat="server"     ErrorMessage="Name is Required"     Text="*"...

Adding control to DetailsView dynamically

יום שלישי, יולי 28, 2009

  בהמשך לפוסט הזה, (שהראה איך להוסיף Validator ל - DetailsView שנוצר בצורה דינמית) אני רוצה להדגים איך להוסיף פקדים בצורה דינמית.   לפני הכל, את המאמר הבא - ASP.NET Page Life Cycle Overview כל מפתח ב - ASP.NET צריך להכיר בעל פה.     נניח שבזמן Edit אנחנו רוצים להוסיף CheckBox לתא הראשון.   הקוד יראה כך:   protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e) {     DetailsView1.ChangeMode(e.NewMode);     Bind();       CheckBox chk = new CheckBox();     chk.ID = "CheckBox1";     DetailsView1.Rows.Cells.Controls.Add(chk); }     אבל כשנלחץ על - Update לא נמצא את ה - CheckBox ב - Collection של ה - Controls. מהסיבה הפשוטה שהיות שזה נוצר בצורה דינמית אנחנו חייבים לייצר אותו כל פעם מחדש (עם אותו...
4 תגובות

Creating RequiredFieldValidator for DetailsView dynamically

  אחד מהפקדים הנחמדים לעבוד עם מידע הוא ה - DetailsView, הוא יודע להציג מידע לאורך במקום לרוחב (כמו Grid) ומתאים מאוד לעידכון של שורה אחת.   בדרך כלל מה שאני עושה זה להציג Grid עם כל הנתונים וכשבוחרים שורה מתוך ה - Grid אני מציג את הנתונים של אותה שורה ב - DetailsView.     לאחרונה רציתי לעבוד איתו בצורה דינמית כלומר - לא להגדיר מראש ב - aspx את כל העמודות. ורציתי להוסיף לאחד העמודות RequiredFieldValidator. נשמע פשוט לא, אז נראה את הקוד.   בהתחלה אני מקשר טבלה (עם שורה אחת) ל DetailsView   protected void Page_Load(object sender, EventArgs e) {     if (!IsPostBack)     {         Bind();     } }   private void...
תגובה אחת

CustomValidator part 2 (CustomValidator and ValidatorCallout)

יום רביעי, מאי 20, 2009

  בהמשך לפוסט על CustomValidator, אז כמו שהבטחתי, נדבר גם על השילוב בינו לבין ValidatorCallout.   ה - ValidatorCallout הוא אחד מהתוספות המעניינים של ajax, הוא מאפשר להציג את הודעת השגיאה בצורה יפה ונוחה.   מה שצריך לעשות, זה לשייך את ה - targetControlID ל - Validator הספציפי.   הבעייה מתחילה כשאנחנו מצמידים ל - ValidatorCallout את ה - CustomValidator.   במקרה הזה במדה ונגדיר שהבדיקה תהיה רק בצד השרת, אנחנו נהיה בבעיה, כי במקרה כזה ה - CustomValidator לא מרונדר בכלל לדף, וה - ValidatorCallout מחפש את ה - Validator והוא לא מוצא אותו.   הפיתרון הוא פשוט, להגדיר EnableClientScript כ - true, (אין צורך לתת פונקציה - אלא...
אין תגובות

CustomValidator Part 1

יום שלישי, מאי 19, 2009

  יצא לי לא מזמן, לייצר CustomValidator, יחד עם ValidatorCallout של ajax,   יש עם זה כמה בעיות, ופתרתי אותם, אז כמובן שצריך לכתוב פוסט על זה,   אבל חשבתי שלפני שאכתוב פוסט על הבעייה הספציפית, אולי שווה לכתוב פוסט על ה CustomValidator.     השימוש בשאר ה - validators הוא די פשוט, גוררים את ה - validator לדף, נותנים ערך ל - ControlToValidate, במידת הצורך גם לעוד מאפיין, (כמו ContrloToCompare ב - CompareValidator, או ValidationExpression עבור RegularExpressionValidator מגדירים את המאפיין EnableClientScript, שמגדיר האם לבצע את הבדיקה גם בצד הלקוח (ברוב במוחץ של המקרים זה צריך להיות מסומן כ - true)   וזהו.   השימוש ב CustomValidator, הוא טיפ טיפה...
2 תגובות