امکانات wise برای validation

+1 رأی
میانگین بازدید روزانه 0.0583 بازدید
آیا wise برای validation در لایه business امکانی داره؟ در کدوم لایه؟ اگر برای validation نیاز به نوشتن متدهای bussiness ی باشد چطور؟
سوال 4 سال قبل در تالار برنامه نویسی توسط chitforoush (9 امتیاز)

1 جواب

+1 رأی
 
بهترین جواب

در wise نسخه 5 به بعد برای صحت سنجی از jsr303 استفاده می شود. اگر می خواهید پارامترهای یک متد صحت سنجی بشوند در کلاس مربوط به پارامترها Annotation  های صحت سنجی را قرار بدهید. سپس روی متد مورد نظر @Valid قرار بدهید. به اینصورت:

	public class FooModel {
		
		@Max(100) 
		private long bar;
		...
	}
	
	public class FooService {
		
		@Valid
		public void save(FooModel model) {
			
		}
	}

در اینصورت با فعال شدن یک ValidationAspect صحت سنجی انجام می شود و در صورت عدم صحت پارامتر پیغام مناسب (با در نظر گرفتن Locale فعال) در قالب ValidationException پرتاب می شود.

اگر نمی خواهید از Aspect و Annotation استفاده کنید متد save از کلاس AbstractHibernateDao را ملاحظه کنید.

بهتر است این کار در کلاسهای Manager یا Service انجام بشود.

 

جواب 4 سال قبل توسط seyyedjamalal (1,100 امتیاز)
انتخاب شده در 4 سال قبل توسط chitforoush
آیا بهتر تبود کلا validation به جای save در لایه DAO در لایه Manager انجام بشه؟ هم از لحاظ مفهومش و هم نیاز محتملش به متدهای دیگر این لایه در حالتهای پیچیده تر Validation (حالتهای پیچیده تر منظور حالتهایی هست که به روال bussiness خاص و حتی queury و محاسبات نیاز هست)؟
مستحضر هستید که hibernate صحت سنجی را انجام می دهد مشروط بر اینکه پیاده سازی jsr303 در classpath وجود داشته باشد و آن را غیرفعال نکرده باشید.
چون پیغام خطای آن قابل بومی سازی نبود ما این اشکال ORM را در DAO اصلاح کردیم. به طور کلی فرمایش شما صحیح است اگر خود شما می خواهید صحت سنجی کنید بهتر است در لایه سرویس و در کلاسهای Manager یا ServiceImpl باشد.

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.0464 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.1869 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 2.794,582 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 2.6553 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 1.0248 بازدید
سوال 1 ماه قبل در تالار برنامه نویسی توسط gatity (89 امتیاز)
+1 رأی
1 جواب میانگین بازدید روزانه 0.3439 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.3960 بازدید
سوال 4 ماه قبل در تالار برنامه نویسی توسط gatity (89 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.2437 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.1946 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.1537 بازدید
سوال 8 ماه قبل در تالار برنامه نویسی توسط gatity (89 امتیاز)
کانال تلگرام جواب یاب
...