scenario در Yii

مبحثی که این جلسه آموزش میدیم ادامه ی validation ها است .
با عنوان سناریو (scenario) به این معنیه که
شما میخواین یک سری کارهارو برای بخش های مختلف انجام دهید.
برای مثال شما میخواین هنگامی که کاربر ثبت نام میکند شماره تلفن خود را وارد نماید پس باید تلفن را اجباری کنیم تا کاربر حتما این فیلد را پر نماید.
در صورتی که مدیر می خواهد کاربری را ثبت کند , تلفن را اختیاری قرار دهیم و مدیر مجبور به پر کردن تلفن نباشد.
ما تا کنون برای قرار دادن اتبار سنجی عبارات از کد زیر استفاده میکردیم:

 array('phone', 'required'),

کد بالا همه جا وارد کردن phone را اجباری میکند,
چه هنگام ثبت و چه هنگام ویرایش .
حالا ما میخواهیم هنگام ثبت تلفن اجباری باشد
و هنگام ویرایش تلفن اختیاری باشد.
با استفاده از کد زیر سناریو را تعریف میکنیم.

array('phone', 'required', 'on' => 'create'),

کد بالا بیانگر این است که اجباری بودن تلفن فقط هنگامی است که از سناریو create استفاده میکنیم.

برای استفاده از سناریو هنگام تعریف مدل از کد زیر استفاده میکنیم

$model->setscenario('create'); 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *