กลับไปหน้าบทความ

อ่าน 2 นาที

การตรวจสอบความถูกต้องของ Bean

Bean Validation กำหนดโมเดลเมตาเดตาและ API สำหรับ การตรวจสอบความถูกต้อง ของ JavaBean แหล่งข้อมูลเมตาเดตาคือ แอนโนเทชัน...

การตรวจสอบความถูกต้องของ Bean

Bean Validation กำหนดโมเดลเมตาเดตาและ API สำหรับ การตรวจสอบความถูกต้อง ของ JavaBeanแหล่งข้อมูลเมตาเดตาคือแอนโนเทชันโดยมีความสามารถในการแทนที่และขยายเมตาเดตาผ่านการใช้ตัวอธิบายการตรวจสอบความถูกต้อง XML

เดิมทีถูกกำหนดให้เป็นส่วนหนึ่งของJava EEแต่เวอร์ชัน 2 มีเป้าหมายที่จะใช้งานได้ใน แอปพลิเคชัน Java SEด้วยเช่นกัน

Java Bean Validation ( JSR 303 ) มีต้นกำเนิดมาจากกรอบการทำงานที่ได้รับการอนุมัติจากJCPเมื่อวันที่ 16 พฤศจิกายน 2009 และได้รับการยอมรับว่าเป็นส่วนหนึ่งของ ข้อกำหนด Java EE 6 ทีม Hibernateได้จัดเตรียมHibernate Validatorซึ่งเป็นตัวอย่างการใช้งาน Bean Validation และยังได้สร้าง Bean Validation TCKซึ่งการใช้งาน JSR 303 ใดๆ ก็ตามต้องผ่านการทดสอบนี้ด้วย

เวอร์ชันปัจจุบัน

Bean Validation 2.0 ถูกกำหนดโดยJSR 380ซึ่งได้รับการอนุมัติเมื่อวันที่ 31 กรกฎาคม 2017 เวอร์ชันหลักนี้ใช้ประโยชน์จากคุณสมบัติของภาษาใน Java 8 ซึ่งมีประโยชน์อย่างมากสำหรับการตรวจสอบความถูกต้องของ Bean Validation ดังนั้น Java 8 จึงเป็นเวอร์ชัน Java ขั้นต่ำที่จำเป็น

การเปลี่ยนแปลงอื่นๆ ได้แก่:

  • รองรับการตรวจสอบความถูกต้องขององค์ประกอบคอนเทนเนอร์โดยการระบุประเภทของอาร์กิวเมนต์ของประเภทที่มีพารามิเตอร์ เช่น List<@Positive Integer> positiveNumbers ซึ่งรวมถึง:
    • การตรวจสอบความถูกต้องแบบเรียงลำดับที่ยืดหยุ่นมากขึ้นสำหรับประเภทคอลเลกชัน เช่น ตอนนี้สามารถตรวจสอบความถูกต้องของค่าและคีย์ของแผนที่ได้แล้ว: Map<@Valid CustomerType, @Valid Customer> customersByType
    • การสนับสนุนสำหรับ java.util.Optional
    • รองรับประเภทคุณสมบัติที่ประกาศโดยJavaFX
    • รองรับประเภทคอนเทนเนอร์แบบกำหนดเองโดยการเสียบตัวแยกค่าเพิ่มเติม
  • รองรับประเภทข้อมูลวันที่/เวลาใหม่สำหรับ @Past และ @Future; ควบคุมเวลาปัจจุบันและเขตเวลาที่ใช้ในการตรวจสอบความถูกต้องได้อย่างละเอียด
  • ข้อจำกัดใหม่ที่สร้างมาในตัว: @Email, @NotEmpty, @NotBlank, @Positive, @PositiveOrZero, @Negative, @NegativeOrZero, @PastOrPresent และ @FutureOrPresent
  • ข้อจำกัดในตัวทั้งหมดถูกทำเครื่องหมายว่าสามารถทำซ้ำได้แล้ว
  • ชื่อพารามิเตอร์จะถูกดึงมาโดยใช้การสะท้อน (reflection)
  • ConstraintValidator#initialize() เป็นเมธอดเริ่มต้น
  • เนมสเปซสำหรับคำอธิบาย XML ของ Bean Validation ได้ถูกเปลี่ยนเป็นhttp://xmlns.jcp.org/xml/ns/validation/configurationสำหรับ META-INF/validation.xml และhttp://xmlns.jcp.org/xml/ns/validation/mappingสำหรับไฟล์การแมปข้อจำกัด

เวอร์ชันก่อนหน้า

Bean Validation 1.1 ( JSR 349 ) ปรับปรุงจากเวอร์ชันเริ่มต้น 1.0 ( JSR 303 ) การเปลี่ยนแปลงที่สำคัญ[ 1 ]ได้แก่:

  • การตรวจสอบความถูกต้องของอาร์กิวเมนต์และค่าส่งคืนของเมธอด
  • การฉีดการพึ่งพา (Dependency Injection)
  • กระบวนการที่เปิดกว้างมากขึ้นในการพัฒนารายละเอียดเฉพาะ

ข้อกำหนดเวอร์ชัน 1.1 ฉบับสุดท้ายได้รับการเผยแพร่เมื่อวันที่ 24 พฤษภาคม 2556

อ่านเพิ่มเติม

  • เว็บไซต์อย่างเป็นทางการแก้ไขข้อมูลนี้ได้ที่วิกิดาต้าเปิดเผยผลงานการพัฒนาของ JSR 303, 349 และ 380
  • วิดีโอการนำเสนอในงาน Devoxx หัวข้อ *Bean Validation 2.0 - คุณใส่คำอธิบายประกอบไว้ทุกที่แล้ว! โดย Gunnar Morling*
  • บทสัมภาษณ์กับ เอ็มมานูเอล เบอร์นาร์ด หัวหน้าทีมออกแบบ
  • หน้า JSR 303
  • ตัวตรวจสอบ Hibernate
  • เอกสารประกอบการตรวจสอบความถูกต้องของ Bean TCK
  • วิธีเรียกใช้ Bean Validation TCK ( เก็บถาวรเมื่อ 25 สิงหาคม 2010 ที่Wayback Machine)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Bean_Validation&oldid=1178052246 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การตรวจสอบความถูกต้องของ Bean

Bean Validation กำหนดโมเดลเมตาเดตาและ API สำหรับ การตรวจสอบความถูกต้อง ของ JavaBean แหล่งข้อมูลเมตาเดตาคือ แอนโนเทชัน...

เวอร์ชันปัจจุบัน

Bean Validation 2.0 ถูกกำหนดโดยJSR 380ซึ่งได้รับการอนุมัติเมื่อวันที่ 31 กรกฎาคม 2017 เวอร์ชันหลักนี้ใช้ประโยชน์จากคุณสมบัติของภาษาใน Java 8 ซึ่งมีประโยชน์อย่างมากสำหรับการตรวจสอบความถูกต้องของ Bean Validation ดังนั้น Java 8 จึงเป็นเวอร์ชัน Java...

เวอร์ชันก่อนหน้า

Bean Validation 1.1 ( JSR 349 ) ปรับปรุงจากเวอร์ชันเริ่มต้น 1.0 ( JSR 303 ) การเปลี่ยนแปลงที่สำคัญ [ 1 ] ได้แก่:

อ่านเพิ่มเติม

เว็บไซต์อย่างเป็นทางการ เปิดเผยผลงานการพัฒนาของ JSR 303, 349 และ 380 วิดีโอการนำเสนอในงาน Devoxx หัวข้อ *Bean Validation 2.0 - คุณใส่คำอธิบายประกอบไว้ทุกที่แล้ว!