Rumah pembangunan bahagian belakang tutorial php Yii2验证器(Validator)用法分析

Yii2验证器(Validator)用法分析

Jun 02, 2018 am 11:40 AM
validator yii2 menganalisis

这篇文章主要介绍了Yii2验证器(Validator)用法,结合实例形式分析了Yii2验证器(Validator)的相关功能、格式、使用方法及注意事项,需要的朋友可以参考下

本文实例讲述了Yii2验证器(Validator)用法。分享给大家供大家参考,具体如下:

先看一下验证器的使用。

public function rules()
{
  return [
    [['email', 'password'], 'required'],
    ['password', 'string', 'min'=>6],
  ];
}
Salin selepas log masuk

如上所示,验证器主要使用在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——安全
这个不进行验证,仅仅用来指定属性值是安全的。(yii\validators\SafeValidator)

相关推荐:

在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解

Yii2框架类自动加载使用详解

Atas ialah kandungan terperinci Yii2验证器(Validator)用法分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara melaksanakan statistik dan analisis data dalam uniapp Cara melaksanakan statistik dan analisis data dalam uniapp Oct 24, 2023 pm 12:37 PM

Cara melaksanakan statistik dan analisis data dalam uniapp 1. Pengenalan latar belakang Statistik dan analisis data merupakan bahagian yang sangat penting dalam proses pembangunan aplikasi mudah alih Melalui statistik dan analisis tingkah laku pengguna, pembangun boleh mempunyai pemahaman yang mendalam tentang pilihan dan penggunaan pengguna. tabiat. Dengan itu mengoptimumkan reka bentuk produk dan pengalaman pengguna. Artikel ini akan memperkenalkan cara melaksanakan statistik data dan fungsi analisis dalam uniapp, dan menyediakan beberapa contoh kod khusus. 2. Pilih statistik data dan alat analisis yang sesuai Langkah pertama untuk melaksanakan statistik dan analisis data dalam uniapp ialah memilih statistik data dan alat analisis.

Bagaimana untuk menggunakan pangkalan data MySQL untuk ramalan dan analitik ramalan? Bagaimana untuk menggunakan pangkalan data MySQL untuk ramalan dan analitik ramalan? Jul 12, 2023 pm 08:43 PM

Bagaimana untuk menggunakan pangkalan data MySQL untuk ramalan dan analitik ramalan? Gambaran Keseluruhan: Peramalan dan analitik ramalan memainkan peranan penting dalam analisis data. MySQL, sistem pengurusan pangkalan data hubungan yang digunakan secara meluas, juga boleh digunakan untuk tugasan ramalan dan analisis ramalan. Artikel ini akan memperkenalkan cara menggunakan MySQL untuk ramalan dan analisis ramalan, serta menyediakan contoh kod yang berkaitan. Penyediaan data: Pertama, kita perlu menyediakan data yang berkaitan. Katakan kita ingin membuat ramalan jualan, kita memerlukan jadual dengan data jualan. Dalam MySQL kita boleh gunakan

Bagaimana untuk menggunakan bahasa Go untuk analisis visualisasi data? Bagaimana untuk menggunakan bahasa Go untuk analisis visualisasi data? Jun 10, 2023 am 10:46 AM

Dengan kemunculan era data besar, analisis visualisasi data memainkan peranan penting dalam semua lapisan masyarakat. Sebagai bahasa pengaturcaraan yang pantas, cekap dan selamat, bahasa Go telah secara beransur-ansur menduduki tempat dalam bidang analisis visualisasi data. Artikel ini akan meneroka cara menggunakan bahasa Go untuk analisis visualisasi data. 1. Plotly, perpustakaan visualisasi data yang biasa digunakan dalam bahasa Go: boleh digunakan untuk mencipta grafik interaktif dalam penyemak imbas dan menyokong pelbagai jenis grafik, seperti graf garis, graf bar, plot serakan, peta haba, dsb. Gonum/plo

Pemantauan dan analisis log masa nyata di bawah Linux Pemantauan dan analisis log masa nyata di bawah Linux Jul 29, 2023 am 08:06 AM

Pemantauan dan analisis log masa nyata di bawah Linux Dalam pengurusan sistem harian dan penyelesaian masalah, log ialah sumber data yang sangat penting. Melalui pemantauan masa nyata dan analisis log sistem, kami boleh mengesan situasi tidak normal dalam masa dan mengendalikannya dengan sewajarnya. Artikel ini akan memperkenalkan cara melaksanakan pemantauan dan analisis log masa nyata di bawah Linux, dan memberikan contoh kod yang sepadan. 1. Pemantauan log masa nyata Di bawah Linux, sistem log yang paling biasa digunakan ialah rsyslog. Dengan mengkonfigurasi rsyslog, kami boleh menggabungkan log aplikasi yang berbeza

Langkah-langkah analisis statistik Langkah-langkah analisis statistik Jun 28, 2023 pm 03:27 PM

Analisis statistik selalunya merujuk kepada proses pengisihan, pengkelasan dan pentafsiran data relevan yang dikumpul. Langkah-langkah asas analisis statistik termasuk: 1. Mengumpul data 2. Menyusun data 3. Menganalisis data;

Analisis sebab mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Analisis sebab mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Mar 13, 2024 pm 06:24 PM

Tajuk: Analisis sebab dan penyelesaian mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Dreamweaver CMS (DedeCMS) ialah sistem pengurusan kandungan sumber terbuka yang berkuasa yang digunakan secara meluas dalam pembinaan pelbagai laman web. Walau bagaimanapun, kadangkala semasa proses membina tapak web, anda mungkin menghadapi situasi di mana direktori sekunder tidak boleh dibuka, yang membawa masalah kepada operasi biasa tapak web. Dalam artikel ini, kami akan menganalisis kemungkinan sebab mengapa direktori sekunder tidak boleh dibuka dan memberikan contoh kod khusus untuk menyelesaikan masalah ini. 1. Analisis sebab yang mungkin: Masalah konfigurasi peraturan pseudo-statik: Semasa penggunaan

Analisis kes aplikasi Python dalam sistem pengangkutan pintar Analisis kes aplikasi Python dalam sistem pengangkutan pintar Sep 08, 2023 am 08:13 AM

Ringkasan analisis kes aplikasi Python dalam sistem pengangkutan pintar: Dengan perkembangan pesat sistem pengangkutan pintar, Python, sebagai bahasa pengaturcaraan berbilang fungsi, mudah dipelajari dan digunakan, digunakan secara meluas dalam pembangunan dan aplikasi sistem pengangkutan pintar. Artikel ini menunjukkan kelebihan dan potensi aplikasi Python dalam bidang pengangkutan pintar dengan menganalisis kes aplikasi Python dalam sistem pengangkutan pintar dan memberikan contoh kod yang berkaitan. Pengenalan Sistem pengangkutan pintar merujuk kepada penggunaan komunikasi moden, maklumat, penderiaan dan cara teknikal lain untuk berkomunikasi melalui

Analisis sama ada bahasa pengaturcaraan utama Tencent ialah Go Analisis sama ada bahasa pengaturcaraan utama Tencent ialah Go Mar 27, 2024 pm 04:21 PM

Tajuk: Adakah bahasa pengaturcaraan utama Tencent Go: Analisis mendalam Sebagai syarikat teknologi terkemuka di China, Tencent sentiasa menarik banyak perhatian dalam pilihan bahasa pengaturcaraannya. Dalam beberapa tahun kebelakangan ini, sesetengah orang percaya bahawa Tencent menggunakan Go sebagai bahasa pengaturcaraan utamanya. Artikel ini akan menjalankan analisis mendalam sama ada bahasa pengaturcaraan utama Tencent ialah Go dan memberikan contoh kod khusus untuk menyokong pandangan ini. 1. Aplikasi bahasa Go dalam Tencent Go ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google Kecekapan, kesesuaian dan kesederhanaannya disukai oleh banyak pembangun.

See all articles