چگونه اعتبار سنجی ورودی را در JAGUAR Struts انجام دهیم؟
Oct 17, 2025
پیام بگذارید
سلام! بهعنوان تامینکننده جگوار Struts، اخیراً سؤالات زیادی در مورد نحوه انجام اعتبارسنجی ورودی در JAGUAR Struts دریافت کردهام. بنابراین، فکر کردم این پست وبلاگ را برای به اشتراک گذاشتن نکات و ترفندهایی که در طول سال ها یاد گرفته ام، جمع آوری کنم.
ابتدا اجازه دهید در مورد اینکه اعتبار سنجی ورودی چیست و چرا اهمیت دارد صحبت کنیم. اعتبار سنجی ورودی فرآیند بررسی ورودی کاربر برای اطمینان از مطابقت با معیارهای خاص است. این مهم است زیرا به جلوگیری از خطاها و آسیب پذیری های امنیتی در برنامه شما کمک می کند. به عنوان مثال، اگر فرمی دارید که سن کاربر را میپرسد، ممکن است بخواهید تأیید کنید که ورودی عددی بین 0 تا 120 است. اگر ورودی را تأیید نکنید، کاربر میتواند چیزی مانند "abc" یا "999" را وارد کند، که میتواند باعث از کار افتادن برنامه شما یا رفتار غیرمنتظرهای شود.
حالا بیایید به جزئیات نحوه انجام اعتبار سنجی ورودی در JAGUAR Struts بپردازیم. راههای مختلفی برای انجام این کار وجود دارد، اما من روی دو روش اصلی تمرکز میکنم: استفاده از چارچوب اعتبارسنجی Struts و استفاده از روشهای اعتبارسنجی سفارشی.
با استفاده از Struts Validation Framework
چارچوب اعتبار سنجی Struts یک ویژگی داخلی JAGUAR Struts است که به شما امکان می دهد قوانین اعتبار سنجی را برای فرم های خود تعریف کنید. برای استفاده از چارچوب اعتبارسنجی، باید یک فایل قوانین اعتبارسنجی ایجاد کنید و برنامه Struts خود را برای استفاده از آن پیکربندی کنید.
در اینجا نمونه ای از فایل قوانین اعتبارسنجی آمده است:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Struts Validation Framework 1.3.10//EN" "http://struts.apache.org/dtds/validation-1.3.3.1"> name="myForm"> <فیلد property="username"dependent="required,minlength"> <arg0 key="error.username.required"/> <arg1 key="error.username.minlength" resource="false"/> <var> <var-name>minlength</var-name> <var-value>5</var-value> </var> <var-value>5</var-value> </var> varet="required,minlength"> <arg0 key="error.password.required"/> <arg1 key="error.password.minlength" resource="false"/> <var> <var-name>minlength</var-name> <var-value>8</var-value> </var> </field> </form> </formset> </form-
در این مثال، ما در حال تعریف قوانین اعتبارسنجی برای فرمی به نام "myForm" هستیم. فرم دارای دو فیلد "نام کاربری" و "رمز عبور" است. فیلد "نام کاربری" الزامی است و باید حداقل 5 کاراکتر داشته باشد، در حالی که قسمت "گذرواژه" الزامی است و باید حداقل 8 کاراکتر داشته باشد.
برای پیکربندی برنامه Struts برای استفاده از فایل قوانین اعتبارسنجی، باید کد زیر را به برنامه خود اضافه کنید.struts-config.xmlفایل:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml"/> </plug-in>
این کد به Struts میگوید که از فایل قوانین اعتبارسنجی واقع در آن استفاده کند/WEB-INF/validator-rules.xml.
هنگامی که برنامه خود را برای استفاده از فایل قوانین اعتبار سنجی پیکربندی کردید، می توانید از چارچوب اعتبارسنجی در صفحات JSP خود استفاده کنید. در اینجا یک مثال است:


<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %> <%@ taglib uri="http://struts.apache.org/tags-validator" prefix="validator" %> <html:form action="/myAction" name="myForm"> <html:text property="username"/> <validator:errors milk="username"/> <html:text milk="password"/> <validator:errors milk="password"/> <html:submit value="submit"/> </html:form>
در این مثال، ما ازhtml:textبرای ایجاد فیلدهای ورودی برای فیلدهای «نام کاربری» و «رمز عبور» تگ کنید. ما همچنین ازاعتباردهنده: خطاهابرای نمایش هرگونه خطای اعتبارسنجی که رخ می دهد، تگ کنید.
استفاده از روشهای اعتبارسنجی سفارشی
علاوه بر استفاده از چارچوب اعتبارسنجی Struts، میتوانید از روشهای اعتبارسنجی سفارشی نیز برای انجام اعتبارسنجی ورودی استفاده کنید. متدهای اعتبارسنجی سفارشی متدهای جاوا هستند که شما در کلاسهای اکشن خود تعریف میکنید.
در اینجا نمونه ای از یک روش اعتبار سنجی سفارشی آورده شده است:
کلاس عمومی MyAction گسترش Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse answer) throws Exception { MyForm myForm = (MyForm) form; نام کاربری رشته = myForm.getUsername(); رمز عبور رشته = myForm.getPassword(); if (username == null || username.length() < 5) { request.setAttribute("errorUsername", "Username باید حداقل 5 کاراکتر باشد"); بازگشت mapping.getInputForward(); } if (password == null || password.length() < 8) { request.setAttribute("errorPassword", "گذرواژه باید حداقل 8 کاراکتر باشد"); بازگشت mapping.getInputForward(); } // اگر اعتبار سنجی انجام شد، با عمل بازگشت mapping.findForward("success"); } }
در این مثال، ما یک روش اعتبار سنجی سفارشی را در کلاس اکشن خود تعریف می کنیم. این روش فیلدهای "نام کاربری" و "رمز عبور" را بررسی می کند تا مطمئن شود که معیارهای خاصی را برآورده می کنند. اگر اعتبارسنجی ناموفق باشد، یک پیغام خطا در درخواست تنظیم می کنیم و ورودی را به جلو برمی گردانیم. اگر اعتبار سنجی بگذرد، به عمل ادامه می دهیم.
برای استفاده از روش اعتبارسنجی سفارشی در صفحات JSP خود، می توانید از کد زیر استفاده کنید:
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %> <html:form action="/myAction" name="myForm"> <html:text property="username"/> <logic:present name="errorUsername"> <bean>Username" </logic:present> <html:text property="password"/> <logic:present name="errorPassword"> <bean:write name="errorPassword"/> </logic:present> <html:submit value="Submit"/> </html:form>
در این مثال، ما ازمنطق: حالبرای بررسی اینکه آیا پیام خطا در درخواست وجود دارد را تگ کنید. اگر پیغام خطا وجود داشته باشد، از آن استفاده می کنیمbean:نوشتنبرای نمایش آن تگ کنید.
نتیجه گیری
انجام اعتبار سنجی ورودی در JAGUAR Struts بخش مهمی از توسعه برنامه های کاربردی ایمن و قابل اعتماد است. با استفاده از چارچوب اعتبارسنجی Struts یا روشهای اعتبارسنجی سفارشی، میتوانید اطمینان حاصل کنید که ورودی کاربر معیارهای خاصی را دارد و از خطاها و آسیبپذیریهای امنیتی جلوگیری میکند.
اگر در بازار جگوار Struts با کیفیت بالا هستید، حتما ما را بررسی کنیدتسمه های تعلیق اسپرت جلو برای جگوارومونتاژ ضربه گیر و استرات جگوار. ما طیف گسترده ای از محصولات را برای رفع نیازهای شما و ارائه خدمات عالی به مشتریان ارائه می دهیم.
اگر سؤالی دارید یا می خواهید در مورد نیازهای تدارکاتی خود صحبت کنید، لطفاً در تماس باشید. ما اینجا هستیم تا به شما در یافتن راه حل های مناسب برای وسایل نقلیه JAGUAR کمک کنیم.
مراجع
- مستندات Struts
- راهنمای چارچوب اعتبارسنجی Apache Struts
