یکی از مهم ترین بخش های هر برنامه بررسی و اعتبارسنجی اطلاعات دریافتی از کاربر هست در واقع با این کار برنامه نویس مطمئن خواهد شد که کاربر داده ای را که مد نظر اوست وارد کرده و با خیال راحت این اطلاعات را مورد استفاده قرار می دهد .
برای چک کردن مقادیر در کیک پی اچ پی باید تسلط و آشنایی خوبی با آرایه ها داشته باشید تا هنگام اعتبارسنجی های پیچیده مغزتون هنگ نکنه و به راحتی بتونید کارتون رو جلو ببرید . کدهای مربوط به اعتبارسنجی اطلاعات را باید در کلاس مربوط به model بنوسید و با تعریف یک خصوصیت به نام validate و اختصاص دادن یک آرایه چند بعدی به آن ، نوع داده های مورد نظرتان را مشخص نمایید .
در ساده ترین حالت می تونید برای فیلدهای موردنظرتون که توی جدول تعریف کردید و مقدارش براتون مهم هست یک نوع رو مشخص نمایید
view sourceprint?
01.class User extends AppModel{
02.
03. var $name='User';
04.
05. var $validate=array(
06. 'username'=>'alphaNumeric',
07. 'password'=>'alphaNumeric',
08. 'email'=>'email'
09. );
10.}
در این حالت هنگام ذخیره و یا بروز رسانی اطلاعات مقادیر تعیین شده چک می شوند و در صورت مغایرت پیغام مناسب نمایش داده می شود .
همچنین شما می تونید پیغام هایی که برای هر قسمت نمایش داده می شوند رو تعیین کنید ، برای این کار به شکل زیر عمل کنید
view sourceprint?
01.class User extends AppModel{
02.
03. var $name='User';
04.
05. var $validate=array(
06. 'username'=>array('rule'=>'alphaNumeric','message'=>'نام کاربری معتبر نیست'),
07. 'password'=>array('rule'=>'alphaNumeric','message'=>'رمز عبور معتبر نیست'),
08. 'email'=>array('rule'=>'email','message'=>'پست الکترونیکی معتبر نیست')
09. );
10.}
کیک پی اچ پی به صورت پیش فرض یکسری pattern برای چک کردن ایمیل ، ip، تاریخ ،زمان ، کد پستی ، آدرس اینترنتی و سایر مقادیر داره که برای مشاهده کامل این pattern ها می تونید اینجا رو ببینید.
در کیک پی اچ پی این امکان هم وجود داره که شما خودتون یک pattern خاص بنویسید تا مقدار فیلد بر اساس اون چک بشه برای این کار کافیه که فقط pattern دلخواه تون رو به فیلد مورد نظر نسبت بدید
view sourceprint?
01.class User extends AppModel
02.{
03. var $name='User';
04. var $useTable='users';
05. var $validate=array(
06. 'username'=>array('rule'=>'/[a-z0-9\-]{3,15}/i','message'=>'نام کاربری معتبر نیست'),
07. 'password'=>array('rule'=>'/[a-z0-9\-]{6,20}/i','message'=>'رمز عبور معتبر نیست'),
08. 'email'=>array('rule'=>'/[a-z0-9._\-+]+@[a-zA-Z0-9.\-]+.[a-zA-Z.]+/i','message'=>'پست الکترونیکی معتبر نیست')
09. );
10.}
برای اینکه یک فیلد رو از چند نظر مورد بررسی قرار بدید کافیه که یک آرایه چند بعدی برای اون فیلد تعریف کنید
view sourceprint?
01.class User extends AppModel
02.{
03. var $name='User';
04. var $validate=array(
05. 'username'=>array(
06. 'alphaNumeric'=>array('rule'=>'alphaNumeric','message'=>'نام کاربری معتبر نیست'),
07. 'maxLength'=>array('rule'=>array('maxLength',5),'message'=>'حداکثر طول نام کاربری باید ۵ کاراکتر باشد')
08. ),
09. 'password'=>array('rule'=>'alphaNumeric','message'=>'رمز عبور معتبر نیست'),
10. 'email'=>array('rule'=>'email','message'=>'پست الکترونیکی معتبر نیست')
11. );
12.}
برای اطلاعات بیشتر در این مورد این صفحه رو بخونید.
همچنین برای تعیین اینکه یک الگو یا pattern در زمان افزودن رکورد چک بشه یا بروزرسانی رکورد می تونید به شکل زیر عمل کنید
view sourceprint?
01.class User extends AppModel
02.{
03. var $name='User';
04. var $validate=array(
05. 'username'=>array(
06. 'alphaNumeric'=>array('rule'=>'alphaNumeric','message'=>'نام کاربری معتبر نیست','on'=>'create'),
07. 'maxLength'=>array('rule'=>array('maxLength',5),'message'=>'حداکثر طول نام کاربری باید ۵ کاراکتر باشد','on'=>'update')
08. ),
09. 'password'=>array('rule'=>'alphaNumeric','message'=>'رمز عبور معتبر نیست','on'=>'update'),
10. 'email'=>array('rule'=>'email','message'=>'پست الکترونیکی معتبر نیست')
11. );
12.}
این ها فقط چند مثال برای آشنایی شما با نحوه اعتبار سنجی اطلاعات در کیک پی اچ پی بود و بیشتر سعی کردم مهم ترین موارد رو بگم ، برای اینکه تسلط کاملی بر این موضوع پیدا کنید توصیه می کنم که حتما مستندات خود کیک که کامل و گویا هست رو بخونید و اینجا رو هم یه نگاه بندازید .
برای چک کردن مقادیر در کیک پی اچ پی باید تسلط و آشنایی خوبی با آرایه ها داشته باشید تا هنگام اعتبارسنجی های پیچیده مغزتون هنگ نکنه و به راحتی بتونید کارتون رو جلو ببرید . کدهای مربوط به اعتبارسنجی اطلاعات را باید در کلاس مربوط به model بنوسید و با تعریف یک خصوصیت به نام validate و اختصاص دادن یک آرایه چند بعدی به آن ، نوع داده های مورد نظرتان را مشخص نمایید .
در ساده ترین حالت می تونید برای فیلدهای موردنظرتون که توی جدول تعریف کردید و مقدارش براتون مهم هست یک نوع رو مشخص نمایید
view sourceprint?
01.class User extends AppModel{
02.
03. var $name='User';
04.
05. var $validate=array(
06. 'username'=>'alphaNumeric',
07. 'password'=>'alphaNumeric',
08. 'email'=>'email'
09. );
10.}
در این حالت هنگام ذخیره و یا بروز رسانی اطلاعات مقادیر تعیین شده چک می شوند و در صورت مغایرت پیغام مناسب نمایش داده می شود .
همچنین شما می تونید پیغام هایی که برای هر قسمت نمایش داده می شوند رو تعیین کنید ، برای این کار به شکل زیر عمل کنید
view sourceprint?
01.class User extends AppModel{
02.
03. var $name='User';
04.
05. var $validate=array(
06. 'username'=>array('rule'=>'alphaNumeric','message'=>'نام کاربری معتبر نیست'),
07. 'password'=>array('rule'=>'alphaNumeric','message'=>'رمز عبور معتبر نیست'),
08. 'email'=>array('rule'=>'email','message'=>'پست الکترونیکی معتبر نیست')
09. );
10.}
کیک پی اچ پی به صورت پیش فرض یکسری pattern برای چک کردن ایمیل ، ip، تاریخ ،زمان ، کد پستی ، آدرس اینترنتی و سایر مقادیر داره که برای مشاهده کامل این pattern ها می تونید اینجا رو ببینید.
در کیک پی اچ پی این امکان هم وجود داره که شما خودتون یک pattern خاص بنویسید تا مقدار فیلد بر اساس اون چک بشه برای این کار کافیه که فقط pattern دلخواه تون رو به فیلد مورد نظر نسبت بدید
view sourceprint?
01.class User extends AppModel
02.{
03. var $name='User';
04. var $useTable='users';
05. var $validate=array(
06. 'username'=>array('rule'=>'/[a-z0-9\-]{3,15}/i','message'=>'نام کاربری معتبر نیست'),
07. 'password'=>array('rule'=>'/[a-z0-9\-]{6,20}/i','message'=>'رمز عبور معتبر نیست'),
08. 'email'=>array('rule'=>'/[a-z0-9._\-+]+@[a-zA-Z0-9.\-]+.[a-zA-Z.]+/i','message'=>'پست الکترونیکی معتبر نیست')
09. );
10.}
برای اینکه یک فیلد رو از چند نظر مورد بررسی قرار بدید کافیه که یک آرایه چند بعدی برای اون فیلد تعریف کنید
view sourceprint?
01.class User extends AppModel
02.{
03. var $name='User';
04. var $validate=array(
05. 'username'=>array(
06. 'alphaNumeric'=>array('rule'=>'alphaNumeric','message'=>'نام کاربری معتبر نیست'),
07. 'maxLength'=>array('rule'=>array('maxLength',5),'message'=>'حداکثر طول نام کاربری باید ۵ کاراکتر باشد')
08. ),
09. 'password'=>array('rule'=>'alphaNumeric','message'=>'رمز عبور معتبر نیست'),
10. 'email'=>array('rule'=>'email','message'=>'پست الکترونیکی معتبر نیست')
11. );
12.}
برای اطلاعات بیشتر در این مورد این صفحه رو بخونید.
همچنین برای تعیین اینکه یک الگو یا pattern در زمان افزودن رکورد چک بشه یا بروزرسانی رکورد می تونید به شکل زیر عمل کنید
view sourceprint?
01.class User extends AppModel
02.{
03. var $name='User';
04. var $validate=array(
05. 'username'=>array(
06. 'alphaNumeric'=>array('rule'=>'alphaNumeric','message'=>'نام کاربری معتبر نیست','on'=>'create'),
07. 'maxLength'=>array('rule'=>array('maxLength',5),'message'=>'حداکثر طول نام کاربری باید ۵ کاراکتر باشد','on'=>'update')
08. ),
09. 'password'=>array('rule'=>'alphaNumeric','message'=>'رمز عبور معتبر نیست','on'=>'update'),
10. 'email'=>array('rule'=>'email','message'=>'پست الکترونیکی معتبر نیست')
11. );
12.}
این ها فقط چند مثال برای آشنایی شما با نحوه اعتبار سنجی اطلاعات در کیک پی اچ پی بود و بیشتر سعی کردم مهم ترین موارد رو بگم ، برای اینکه تسلط کاملی بر این موضوع پیدا کنید توصیه می کنم که حتما مستندات خود کیک که کامل و گویا هست رو بخونید و اینجا رو هم یه نگاه بندازید .