ระบบธุรกิจของเราเกี่ยวข้องกับการแก้ไขและการตรวจสอบแบบฟอร์มมากมาย วิธีที่ง่ายที่สุดคือการใช้การควบคุมการตรวจสอบข้อมูลที่มาพร้อมกับ asp.net แต่มีปัญหาสามประการต่อไปนี้:
1. การควบคุมการตรวจสอบจะต้องรวมอยู่ในการออกแบบ การเพิ่มมัน การกรอกแบบฟอร์มและการตั้งค่าแอตทริบิวต์ด้วยตนเอง เช่น ประเภทข้อมูล ข้อความแสดงข้อผิดพลาด ฯลฯ ค่อนข้างยุ่งยาก
2 สำหรับช่องป้อนข้อมูล เราอาจต้องกาเครื่องหมายหลายรายการ เช่น จำเป็น ต้องอยู่ในรูปแบบวันที่ และต้องมากกว่า 2007-1-1 สิ่งนี้จำเป็นต้องเพิ่มการควบคุมการตรวจสอบหลายรายการ
3 กฎและแบบฟอร์มทางธุรกิจถูกผูกไว้ด้วยกัน ซึ่งไม่เอื้อต่อการบำรุงรักษาและการนำกลับมาใช้ใหม่
ฟังก์ชั่นการตรวจสอบที่เราหวังไว้คือ:
1. กฎการตรวจสอบจะถูกแยกออกจากแบบฟอร์ม เพียงวาดกล่องอินพุตบนแบบฟอร์ม การควบคุมการตรวจสอบจะถูกสร้างขึ้นแบบไดนามิกตามไฟล์การกำหนดค่าในขณะรันไทม์
2 ตามกฎการตรวจสอบ ข้อความแจ้งเริ่มต้นจะถูกสร้างขึ้น: ไม่สามารถเว้นว่างได้ ประเภทตัวเลขไม่ถูกต้อง ต้องอยู่ระหว่าง 1 ถึง 100
3 นิพจน์กฎการตรวจสอบที่ยืดหยุ่น: เช่น: range(1, 200), >=0.5, Mail(), Mobile() ในปัจจุบัน เงื่อนไขต่างๆ เช่น และ หรือ ไม่ได้
รับการสนับสนุน
แต่สามารถขยายได้อย่างง่ายดายด้วยเหตุนี้ เราจึงได้สรุปส่วนนี้ของฟังก์ชันไว้ เมื่อใช้งาน คุณเพียงแค่ต้อง
ตั้งค่าต่อไปนี้ในไฟล์ xml เท่านั้น: ชื่อการควบคุม ประเภทข้อมูล ว่าจำเป็นหรือไม่ และข้อมูลนิพจน์การยืนยัน
นี่คือคำพูด:
<ตรวจสอบข้อมูล>
<ต้องการ>จริงต้องการ>
<นิพจน์>ช่วง (1, 100)นิพจน์>
ตรวจสอบข้อมูล>
ในเหตุการณ์ Page_Init ของเพจ ให้เรียกเมธอดคลาส:
ValidateHelper.LoadFromFile("data Verification_configuration.xml") สามารถใช้ได้
การออกแบบชั้นเรียน:
//คลาสข้อมูลการกำหนดค่า
คลาสValidateInfo
-
ControlName สตริงสาธารณะ;
ValidationDataType DataType สาธารณะ;
ErrorMessage สตริงสาธารณะ;
ต้องมีบูลสาธารณะ;
นิพจน์สตริงสาธารณะ
-
// โรงงานสร้างการควบคุมการตรวจสอบความถูกต้อง
ValidatorFactory ระดับสาธารณะ
-
CreateRequiredFieldValidator();
CreateDateTypeCheckValidator();
CreateRangeValidator (สตริงขั้นต่ำ, สตริงสูงสุด);
CreateCompareValidator (ตัวดำเนินการ ValidationCompareOperator, สตริง valueToCompare);
-
-
// ตัวแยกวิเคราะห์กฎการยืนยัน สร้างการควบคุมการตรวจสอบตามข้อมูลการกำหนดค่า
ValidatorParser ระดับสาธารณะ
-
แยกวิเคราะห์ (ข้อมูล ValidateInfo, โรงงาน ValidatorFactory);
-
-
// อ่านข้อมูลการกำหนดค่าและผูกการควบคุมการตรวจสอบกับแบบฟอร์ม
ValidateHelper ระดับสาธารณะ
-
LoadFromFile(หน้าเพจ ชื่อไฟล์สตริง)
-