

API Pengesahan Kacang untuk mengarahkan pengesah secara dinamik untuk mengabaikan anotasi kekangan tertentu pada medan tertentu POJO
Editor PHP Zimo akan memperkenalkan anda kepada API Pengesahan Kacang dalam artikel ini, dan menumpukan pada salah satu ciri pentingnya - secara dinamik mengarahkan pengesah untuk mengabaikan anotasi kekangan tertentu pada medan tertentu POJO. API Pengesahan Bean ialah cara standard untuk melaksanakan pengesahan data dalam aplikasi Java Ia menyediakan cara yang mudah dan fleksibel untuk mentakrif dan menggunakan peraturan pengesahan melalui anotasi. Mengarahkan pengesah secara dinamik untuk mengabaikan anotasi kekangan pada medan tertentu memberikan pembangun dengan fleksibiliti dan kebolehkawalan yang lebih besar, membolehkan peraturan pengesahan dilaraskan secara fleksibel dalam senario tertentu, dengan itu meningkatkan kebolehselenggaraan dan pengembangan jantina. Seterusnya, kami akan menyelidiki cara menggunakan ciri ini dan senario aplikasi praktikal.
Kandungan soalan
Saya mempunyai pojo di mana beberapa medan dianotasi dengan @notempty
:
public class sampleforminputdto { @notempty private string textarea; private int myint = 0; @notempty private string mytext = "somevalue"; public string gettextarea() { return textarea; } public void settextarea(string textarea) { this.textarea = textarea; } }
Tujuannya adalah untuk menyemak medan untuk memastikan ia mengandungi nilai, iaitu tidak batal dan tidak kosong.
Jika saya menciptanya menggunakan pembina tanpa parameter sampleforminputdto
的实例,则字段 textarea
pada mulanya akan menjadi batal dan oleh itu harus dan gagal pengesahan seperti yang diharapkan.
SampleFormInputDTO sampleFormInputDTO = new SampleFormInputDTO(); ValidatorFactory validatorFactory = Validation.byDefaultProvider() .configure() .messageInterpolator(new ParameterMessageInterpolator()) .buildValidatorFactory(); Validator validator = validatorFactory.getValidator(sampleFormInputDTO); Set<ConstraintViolation<SampleFormInputDTO>> violationSet = validator.validate();
Saya tertanya-tanya sama ada mungkin untuk mengarahkan contoh pengesah secara dinamik/program supaya tidak mengesahkan anotasi kekangan khusus untuk medan tertentu?
Katakan saya telah menentukan bahawa sebagai sebahagian daripada mengendalikan panggilan api rehat, saya mahu sampleforminputdto
类型的字段 textarea
membenarkan rentetan kosong secara dinamik, tetapi hanya untuk medan tertentu itu. Tidak menjejaskan sebarang anotasi kekangan yang mungkin wujud pada medan lain dalam pojo yang sama.
Adakah ini mungkin?
Penyelesaian
Anda mungkin ingin melihat Kumpulan Pengesahan.
public class sampleforminputdto { @notempty(groups = group1.class) private string textarea; private int myint = 0; @notempty private string mytext = "somevalue"; public string gettextarea() { return textarea; } public void settextarea(string textarea) { this.textarea = textarea; } }
Anda kemudiannya boleh mengawal kekangan mana yang disertakan dalam pengesahan dan yang tidak termasuk dalam pengesahan, contohnya:
validator.validate(sampleforminputdto);
hanya akan menyemak atribut mytext
, tetapi akan kelihatan seperti:
validator.validate(sampleFormInputDTO, Group1.class, Default.class);
Akan mengesahkan kedua-duanya.
Atas ialah kandungan terperinci API Pengesahan Kacang untuk mengarahkan pengesah secara dinamik untuk mengabaikan anotasi kekangan tertentu pada medan tertentu POJO. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Emulator Java ialah perisian yang boleh menjalankan aplikasi Java pada komputer atau peranti. Ia boleh mensimulasikan mesin maya Java dan melaksanakan Java bytecode, membolehkan pengguna menjalankan program Java pada platform yang berbeza. Simulator Java digunakan secara meluas dalam pembangunan perisian, pembelajaran dan ujian. Artikel ini akan memperkenalkan lima emulator Java yang berguna dan praktikal yang boleh memenuhi keperluan pengguna yang berbeza dan membantu pengguna membangun dan menjalankan program Java dengan lebih cekap. Emulator pertama ialah Eclipse. Ecl

Rangka kerja ujian unit JUnit ialah alat yang digunakan secara meluas yang kelebihan utamanya termasuk ujian automatik, maklum balas pantas, kualiti kod yang dipertingkatkan dan mudah alih. Tetapi ia juga mempunyai had, termasuk skop terhad, kos penyelenggaraan, kebergantungan, penggunaan memori dan kekurangan sokongan integrasi berterusan. Untuk ujian unit aplikasi Java, JUnit ialah rangka kerja berkuasa yang menawarkan banyak faedah, tetapi batasannya perlu dipertimbangkan apabila menggunakannya.

Java ialah bahasa pengaturcaraan berkuasa yang membolehkan pengguna mencipta pelbagai aplikasi, seperti membina permainan, mencipta aplikasi web dan mereka bentuk sistem terbenam. Debian12 ialah sistem pengendalian berasaskan Linux yang baru dikeluarkan yang berkuasa yang menyediakan asas yang stabil dan boleh dipercayai untuk aplikasi Java berkembang. Bersama-sama dengan sistem Java dan Debian, anda boleh membuka dunia kemungkinan dan inovasi yang pasti boleh banyak membantu orang ramai. Ini hanya boleh dilakukan jika Java dipasang pada sistem Debian anda. Dalam panduan ini, anda akan belajar: Bagaimana untuk memasang Java pada Debian12 Bagaimana untuk memasang Java pada Debian12 Bagaimana untuk mengalih keluar Java daripada Debian12

Masalah dan penyelesaian biasa untuk fail konfigurasi log4j Dalam proses pembangunan aplikasi Java, pengelogan adalah fungsi yang sangat penting. Log4j ialah rangka kerja pembalakan yang digunakan secara meluas di Java. Ia mentakrifkan mod keluaran log melalui fail konfigurasi, dan sangat mudah untuk mengawal tahap dan lokasi keluaran log. Walau bagaimanapun, kadangkala anda akan menghadapi beberapa masalah semasa mengkonfigurasi log4j Artikel ini akan memperkenalkan beberapa masalah biasa dan penyelesaiannya, dan melampirkan contoh kod tertentu. Masalah 1: Fail log tidak menghasilkan penyelesaian:

Oracle ialah penyedia sistem pengurusan pangkalan data yang terkenal di dunia, dan APInya (Antara Muka Pengaturcaraan Aplikasi) ialah alat berkuasa yang membantu pembangun berinteraksi dan menyepadukan dengan mudah dengan pangkalan data Oracle. Dalam artikel ini, kami akan menyelidiki panduan penggunaan API Oracle, menunjukkan kepada pembaca cara menggunakan teknologi antara muka data semasa proses pembangunan dan menyediakan contoh kod khusus. 1. Oracle

IDEA (IntelliJIDEA) ialah persekitaran pembangunan bersepadu yang berkuasa yang boleh membantu pembangun membangunkan pelbagai aplikasi Java dengan cepat dan cekap. Dalam pembangunan projek Java, menggunakan Maven sebagai alat pengurusan projek boleh membantu kami mengurus perpustakaan bergantung, membina projek, dsb. Artikel ini akan memperincikan langkah asas tentang cara membuat projek Maven dalam IDEA, sambil memberikan contoh kod khusus. Langkah 1: Buka IDEA dan cipta projek baharu Buka IntelliJIDEA

Apa itu JMX? JMX (Pemantauan dan Pengurusan Java) ialah rangka kerja standard yang membolehkan anda memantau dan mengurus aplikasi Java dan sumbernya. Ia menyediakan API bersatu untuk mengakses dan memanipulasi metadata dan sifat prestasi aplikasi. MBean: Pengurusan BeanMBean (Management Bean) ialah konsep teras dalam JMX Ia merangkumi sebahagian daripada aplikasi yang boleh dipantau dan diurus. MBeans mempunyai sifat (boleh dibaca atau boleh ditulis) dan operasi (kaedah) yang digunakan untuk mengakses keadaan aplikasi dan melaksanakan operasi. MXBean: Sambungan pengurusan BeanMXBean ialah lanjutan MBean, yang menyediakan fungsi pemantauan dan pengurusan yang lebih maju. MXBeans ditakrifkan oleh spesifikasi JMX dan telah dipratentukan

Bagaimana untuk menyambung ke pangkalan data mysql menggunakan java? Apabila saya mencuba, saya mendapat java.sql.sqlexception:nosuitabledriverfoundforjdbc:mysql://database/tableatjava.sql.drivermanager.getconnection(drivermanager.java:689)atjava.sql.drivermanager.getconnection(drivermanager.java:247) atau