Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk menentukan sama ada templat thinkphp5 ialah nombor positif

Bagaimana untuk menentukan sama ada templat thinkphp5 ialah nombor positif

PHPz
PHPzasal
2023-04-17 09:52:05602semak imbas

Dalam rangka kerja ThinkPHP5, menilai sama ada nombor ialah nombor positif boleh dinilai dengan menggunakan pengesah terbina dalam TP. Pengesah boleh dilaksanakan melalui kelas atau melalui pengesahan fungsi terbina dalam.

Artikel ini akan memperkenalkan cara menggunakan kaedah pengesahan fungsi terbina dalam TP untuk mengesahkan sama ada nilai berangka adalah positif.

  1. Bagaimana untuk menentukan peraturan pengesahan?

TP5 menyediakan kaedah pengesahan fungsi terbina dalam untuk mengesahkan data, termasuk integer, nombor titik terapung, tarikh, dsb., yang semuanya boleh disahkan melalui fungsi terbina dalam. Apabila mentakrifkan peraturan pengesahan, anda perlu menggunakan kaedah rule() dalam kelas validator. Kod kami untuk mentakrifkan peraturan pengesahan adalah serupa dengan yang berikut:

$validate = new \think\Validate([
    'num'  => 'require|number|gt:0',
]);

Dalam kod kami mentakrifkan peraturan pengesahan untuk medan num, yang perlu memenuhi tiga sekatan berikut:

  • Diperlukan
  • Jenis nombor (nombor)
  • Lebih daripada 0 (gt:0)

Contoh ini menunjukkan cara mentakrifkan peraturan pengesahan untuk memastikan kami memasukkan Nilai ialah nombor positif.

  1. Bagaimana untuk mengesahkan sama ada nilai itu positif?

Cara untuk mengesahkan sama ada sesuatu nilai itu positif adalah dengan menggunakan fungsi validate(). Melepasi nilai yang akan disahkan dan peraturan pengesahan dalam fungsi ini boleh melengkapkan pengesahan Fungsi pengesahan akan mengembalikan nilai Boolean untuk menunjukkan sama ada pengesahan diluluskan.

Peraturan telah ditakrifkan sebelum ini, sekarang mari sahkan sama ada nilai itu positif:

$result = $validate->check([
    'num' => 10.2
]);

Fungsi pengesahan kembali benar Apabila nilai pulangan fungsi pengesahan adalah benar, ini bermakna pengesahan telah diluluskan, jika tidak Menunjukkan bahawa pengesahan gagal.

Gunakan fungsi validate() untuk mengesahkan sama ada nilai medan num dalam bentuk yang ditentukan ialah nombor positif.

  1. Bagaimana untuk merangkum fungsi ini supaya ia boleh digunakan beberapa kali?

Melalui pengkapsulan fungsi, kami boleh menggunakan peraturan pengesahan biasa dengan lebih mudah dan mengelakkan berulang kali menulis kod pengesahan yang sama di tempat yang berbeza. Sekarang kita merangkum fungsi bernama "isPositiveNumber" untuk mengesahkan sama ada nilai input ialah nombor positif.

/**
 * 验证数值是否为正数
 * @param float $value 需要验证的值
 * @return bool 验证结果
 */
function isPositiveNumber($value): bool{
    //定义验证规则
    $validate = new \think\Validate([
        'num'  => 'require|number|gt:0',
    ]);
    //执行验证
    return $validate->check([
        'num' => $value
    ]);
}

Dalam kod ini kami mentakrifkan fungsi isPositiveNumber, yang menerima nilai sebagai parameter, menghantar nilai sebagai medan num kepada pengesah untuk pengesahan dan akhirnya mengembalikan hasil pengesahan.

Melalui kod terkapsul ini, kita boleh merujuk fungsi ini di mana nombor positif perlu disahkan untuk menentukan sama ada nilai input ialah nombor positif.

Kesimpulan

Melalui pengenalan di atas, kami telah mempelajari cara menggunakan kaedah pengesahan fungsi pengesah terbina dalam dalam ThinkPHP5 untuk mengesahkan sama ada nilai input ialah nombor positif. Jika anda perlu menggunakan fungsi mengesahkan nombor positif beberapa kali dalam projek anda, anda boleh melaksanakannya melalui pengkapsulan fungsi untuk meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada templat thinkphp5 ialah nombor positif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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