Yii2驗證器(Validator)用法分析
這篇文章主要介紹了Yii2驗證器(Validator)用法,結合實例形式分析了Yii2驗證器(Validator)的相關功能、格式、使用方法及注意事項,需要的朋友可以參考下
本文實例講述了Yii2驗證器(Validator)用法。分享給大家供大家參考,具體如下:
先看一下驗證器的使用。
public function rules() { return [ [['email', 'password'], 'required'], ['password', 'string', 'min'=>6], ]; }
如上所示,驗證器主要使用在rules裡面,對目前model裡面的屬性值進行驗證以檢查是否滿足某種要求。
驗證器使用格式:
書寫格式為:[需要驗證的屬性,驗證器名稱,驗證器參數]。
如果需要驗證的屬性為多個可用數組,如果為一個屬性可用字串也可用數組來表示。
每個屬性都可以有多個驗證器,如上面的password使用了 required和string兩個驗證器。
常用驗證器:
Yii2已經內建了一些常用的驗證器。所有的驗證器都從基底類別yii\validators\Validator繼承實作。我大概總結下有這麼幾類。
數字相關:
integer-整數
用來偵測屬性值是否為整數,以及最大、最小值偵測等。 (yii\validators\NumberValidator)
double-浮點
用來偵測屬性值是否為浮點數,即小數。 (yii\validators\NumberValidator)
number——數字
這個和上面的double完全相同,只是用了2個名稱。 (yii\validators\NumberValidator)
格式相關:
date-日期
檢驗屬性值是否為正確的日期格式。 (yii\validators\DateValidator)
email-郵件
偵測屬性值是否為正確的電子郵件格式。 (yii\validators\EmailValidator)
url——URL
用來判斷屬性值是否是正確的url位址。 (yii\validators\UrlValidator)
對值進行函數處理:
filter——過濾器
這個是對屬性值進行加工處理的。如對屬性值加上前綴、替換特定的字串等等。 (yii\validators\FilterValidator)
trim——裁邊
這個是對屬性值進行加工處理的。只是去掉字串兩側的空格、或指定的字串。 (yii\validators\FilterValidator)
上傳檔案驗證:
file--檔案
##這個主要是對上傳的文件進行驗證,如格式、大小等。 (yii\validators\FileValidator)
image——圖片
這個和上面的file驗證器差不多,不過是專門用來驗證圖片的。 (yii\validators\ImageValidator)
判斷比較:
compare——比較
用來比較兩個屬性值來比較,如相等、大於、小於比較等。 (yii\validators\CompareValidator)
in-包含(範圍)
用來偵測屬性值是否包含在指定的陣列中。 (yii\validators\RangeValidator)
exist——存在
用來偵測在資料表中是否已經存在此屬性值。 (yii\validators\ExistValidator)
unique-唯一性
這個和exist差不多,用來偵測值是否是唯一。 (yii\validators\UniqueValidator)
string——字串
對屬性值進行長度判斷,如最大長度、最短長度等。 (yii\validators\StringValidator)
boolean——布林型
用來檢查屬性的值是否為布林值。 (yii\validators\BooleanValidator)
default——預設值
這個是用來給屬性設定預設值的。如當屬性值為null的時候,給它設定為 空的預設值。 (yii\validators\DefaultValueValidator)
required-必填
這個用來檢查屬性值是否為空。 (yii\validators\RequiredValidator)
captcha——驗證碼
這個主要是在介面使用驗證碼的時候對驗證碼進行驗證的。 (yii\captcha\CaptchaValidator)
match-正規表示式
這個就比較強大了,用來偵測屬性值是否符合給定的正規表示。上面所列的基本都可以用這個實作。 (yii\validators\RegularExpressionValidator)
其它:
safe——Safety
This does not perform verification and is only used to specify that the attribute value is safe. (yii\validators\SafeValidator)
Related recommendations:
How to disable the debug toolbar Debug Toolbar on a specific page in Yii2
Yii2 framework class automatic loading usage details
以上是Yii2驗證器(Validator)用法分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

如何在uniapp中實現資料統計和分析一、背景介紹資料統計和分析是行動應用開發過程中非常重要的一環,透過對使用者行為的統計和分析,開發者可以深入了解使用者的喜好和使用習慣,從而優化產品設計和使用者體驗。本文將介紹如何在uniapp中實現資料統計和分析的功能,並提供一些具體的程式碼範例。二、選擇合適的資料統計和分析工具在uniapp中實現資料統計和分析的第一步是選擇合

如何使用MySQL資料庫進行預測和預測分析?概述:預測和預測分析在數據分析中扮演重要角色。 MySQL作為一種廣泛使用的關聯式資料庫管理系統,也可以用於預測和預測分析任務。本文將介紹如何使用MySQL進行預測和預測分析,並提供相關的程式碼範例。資料準備:首先,我們需要準備相關的資料。假設我們要進行銷售預測,我們需要具有銷售資料的表格。在MySQL中,我們可以使用

隨著大數據時代的到來,數據視覺化分析在各行各業中扮演著至關重要的角色。而Go語言作為一種快速、有效率、安全的程式語言,也逐漸在資料視覺化分析領域佔有一席之地。本文將探討如何使用Go語言進行資料視覺化分析。一、Go語言常用的資料視覺化庫Plotly:可用於在瀏覽器中建立互動的圖形,支援多種圖形類型,如線圖、長條圖、散佈圖、熱力圖等。 Gonum/plo

Linux下的即時日誌監控與分析在日常的系統管理和故障排查中,日誌是一個非常重要的資料來源。透過對系統日誌的即時監控和分析,我們可以及時發現異常情況並進行相應的處理。本文將介紹Linux下如何進行即時日誌監控和分析,並提供對應的程式碼範例。一、即時日誌監控在Linux下,最常用的日誌系統是rsyslog。透過配置rsyslog,我們可以實現將不同應用程式的日誌

統計分析,常指對收集到的有關資料資料進行整理歸類並進行解釋的過程。統計分析的基本步驟包括:1、收集資料;2、整理資料;3、分析資料。

標題:解析織夢CMS二級目錄打不開的原因及解決方案織夢CMS(DedeCMS)是一款功能強大的開源內容管理系統,被廣泛應用於各類網站建設中。然而,有時在搭建網站過程中可能會遇到二級目錄無法開啟的情況,這給網站的正常運作帶來了困擾。在本文中,我們將分析二級目錄打不開的可能原因,並提供具體的程式碼範例來解決這個問題。一、可能的原因分析:偽靜態規則配置問題:在使用

Python在智慧交通系統中的應用案例分析摘要:隨著智慧交通系統的快速發展,Python作為一種多功能、易於學習和使用的程式語言,被廣泛應用於智慧交通系統的開發和應用中。本文透過分析Python在智慧交通系統中的應用案例,並給出相關的程式碼範例,展示了Python在智慧交通領域的優勢和應用潛力。引言智慧交通系統是指利用現代通訊、資訊、感測等技術手段,透過對交

ThinkPHP6程式碼效能分析:定位效能瓶頸引言:隨著網路的快速發展,更有效率的程式碼效能分析對開發者來說變得越發重要。本文將介紹如何使用ThinkPHP6進行程式碼效能分析,以便定位並解決效能瓶頸問題。同時,我們也將透過程式碼範例來幫助讀者更好地理解。效能分析的重要性程式碼效能分析是開發過程中不可或缺的一環。透過分析程式碼的效能,我們可以了解到哪些地方消耗了大量資
